UNIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMENTO DE COMPUTAÇÃO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMENTO DE COMPUTAÇÃO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO"

Transcrição

1 UNIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMENTO DE COMPUTAÇÃO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO SIGEP - SISTEMA DE GERÊNCIA DE PROJETO / FUNDAÇÃO AROEIRA FELIPE DOS SANTOS CARVALHO GILOWSKY WELLINGTON BATISTA DE SIQUEIRA Goiânia 2007 i

2 UNIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMENTO DE COMPUTAÇÃO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO SIGEP - SISTEMA DE GERÊNCIA DE PROJETO / FUNDAÇÃO AROEIRA Trabalho de Conclusão de Curso apresentado por Felipe dos Santos Carvalho Gilowsky e Wellington Batista de Siqueira à Universidade Católica de Goiás, como requisito principal para a obtenção do título de Bacharel em Ciência da Computação aprovado em / / pela Banca Examinadora: Professor Vicente Paulo de Camargo, Orientador i

3 AGRADECIMENTOS Ao Professor Vicente de Camargo, orientador acadêmico, pelo apoio e confiança depositada. Ao Professor Alexandre Ribeiro pela sua inestimável colaboração. Aos colegas Jandilson Morais Oliveira e João Luis da Costa Leandro pelas discussões técnicas e inestimáveis sugestões. À Fundação Aroeira que tornou possível a realização desse projeto. ii

4 RESUMO Este trabalho faz uma abordagem do uso do RUP (Processo Unificado) e da metodologia de Orientação a Objetos no desenvolvimento de sistemas voltados para ambiente web, enfatizando a importância da UML (Linguagem de Modelagem Unificada) na modelagem para a melhor compreensão e controle da complexidade do sistema, vantagens da utilização do padrão MVC na arquitetura de aplicativos, focando princípios de reuso, manutenibilidade, portabilidade, segurança e nas vantagens do uso de técnicas e padrões como apoio para maximizar a implementação destes conceitos, tornando o processo de desenvolvimento de sistemas em ambiente web mais barato, rápido e padronizado. Será abordado também aqui uso de novas linguagens e tecnologias para tornar os aplicativos web mais dinâmicos e iterativos com o usuário. Os conceitos adquiridos a partir destas abordagens são aplicados em todas as fases do desenvolvimento de um Sistema de Gerência de Projetos destinado ao uso da Fundação Aroeira. Palavras-Chave: RUP,OO, UML, MVC, PHP, FRAMEWORK. iii

5 ABSTRACT This work makes a boarding of the use of RUP (Unifed Process) and of the methodology of Orientation the Objects in the development of systems directed toward environment web, emphasizing the importance of the UML (Unified Modeling Language ) in the modeling for the best understanding of systems, advantages of the use of standard MVC in the architecture of applicatory, focalized principles of reutilized, management, portability, security and in the advantages of the use of techniques and standards as support for maximizing the implementation of these concepts, becoming the process of development of systems in environment web cheaper, fast and standardized. Will be boarded also here the use of new technologies to become the applicatory web more dynamic and interactive with the user. The acquired concepts from these approaches are applied in all the phases of development of a Project Management System destined to the use of the Aroeira Foundation. Keywords: RUP, OO, UML, MVC, PHP, FRAMEWORK iv

6 SIGEP - SISTEMA DE GERÊNCIA DE PROJETO / FUNDAÇÃO AROEIRA SUMÁRIO LISTA DE FIGURAS viii LISTA DE ABREVIATURAS E SIGLAS xi INTRODUÇÃO 1 2. FUNDAMENTAÇÃO TEÓRICA Conceitos da Orientação a Objetos Classes Atributos e Operações Herança Polimorfismo Encapsulamento UML Processo Unificado e RUP Processo dirigido por casos de uso Processo centrado na arquitetura Processo iterativo e incremental MVC (Model View - Controller) Modelo Visão Controle HTML PHP e Páginas Dinâmicas Conceitos Básicos JavaScript e DHTML Framework Características Básicas de um Framework Vantagens e Desvantagens do uso de Framework Vantagens Desvantagens O framework Prado PROJETO SIGEP Objetivo 24 v

7 3.2. As delimitações do projeto Justificativa Desenvolvimento Relação dos Requisitos Relação dos Requisitos Funcionais Relação dos Requisitos Não Funcionais Organização dos Requisitos Relação dos Casos de Uso Conceitos Consultas / Relatórios Expansão dos casos de uso Descrição dos casos de uso Diagrama dos Casos de uso Diagramas de seqüência Modelo Conceitual (Diagrama de classe da análise) Contratos de Funcionalidade Lista Básica de Funcionalidades do Sistema Especificação das Funcionalidades do Sistema Diagrama de Classes do Projeto Mapeamento do diagrama de classes Dicionário de Dados Tabelas Atributos Camada de Interface Diagrama de Estado de Navegação Especificação das Janelas 105 CONCLUSÃO 112 REFERÊNCIAS BIBLIOGRÁFICAS 113 GLOSSÁRIO 115 ANEXOS 117 Anexo A Documento Visão 117 Anexo B Pautas de Reunião 119 B1 Pauta do dia 14/09/ vi

8 B2 Pauta do dia 05/10/ B3 Pauta do dia 11/10/ B4 Pauta do dia 19/10/ Anexo C Lista Mestra de Requisitos 128 C1 - Lista Geral de Requisitos Funcionais 128 C2 - Lista Geral de Requisitos Não Funcionais 128 Anexo D Requisitos 129 D1 Manter Pré-Projeto 129 D2 Avaliar Pré-Projeto 129 D3 Manter Projeto 130 D4 Manter Profissionais 130 D5 Manter Fornecedores 131 D6 Manter Patrocinadores 131 D7 Manter Correspondências 132 D8 Manter Cronograma de Projeto 132 D9 Acompanhar Gastos 133 D10 Emitir Relatório Circunstanciado 133 D11 Emitir Relatório de Pré-Projeto 134 D12 Emitir Relatório Analítico de Projetos 134 D13 Emitir Relatório Completo de Projetos 135 D14 Emitir Relatório de Profissionais 135 D15 Emitir Relatório de Fornecedores 136 D16 Emitir Relatório de Patrocinadores 136 D17 Manter Proponente Físico 137 D18 Manter Proponente Jurídico 137 D19 Manter Usuário 137 D20 Validar CPF 138 D21 Efetuar Logon 138 D22 Exibir logomarca no rodapé 138 D23 Efetuar rotinas de backup diariamente 139 vii

9 LISTA DE FIGURAS Figura Classe Pessoa codificada em linguagem PHP. 4 Figura 2.2 (a) - Diagrama de Caso de Uso 7 Figura 2.2 (b) Diagrama de seqüência mostra o cadastro de cliente 7 Figura 2.2 (c) Diagrama de Classes mostra a relação entres as classes 8 Figura 2.3 A ênfase em cada uma das fases no RUP 10 Figura 2.4 O Modelo de desenvolvimento em três camadas. 13 Figura Fluxo de eventos e informações em uma arquitetura MVC. 14 Figura Esqueleto de uma página Html, que se divide em duas partes 14 essenciais: Corpo e Cabeçalho. Figura 2.7 Fluxo entre cliente e servidor 16 Figura Mostra quando é possível criar um FrameWork. 19 Figura 2.9 (a) e (b) - Diferenças entre o uso de bibliotecas e frameworks. 20 Figura 3.1 Diagrama de Caso de Uso 1ª Parte 50 Figura 3.2 Diagrama de Caso de Uso 2ª Parte 51 Figura 3.3 Diagrama de Caso de Uso 3ª Parte 52 Figura 3.4 Diagrama de Seqüência referente a Manter Proponente Físico 53 Figura 3.5 Diagrama de Seqüência referente a Manter Proponente Jurídico 54 Figura 3.6 Diagrama de Seqüência referente a Manter Pré-Projeto 55 Figura 3.7 Diagrama de Seqüência referente a Manter Usuário 56 Figura 3.8 Diagrama de Seqüência referente a Efetuar Login 57 Figura 3.9 Diagrama de Seqüência referente a Avaliar Pré-Projeto 58 Figura 3.10 Diagrama de Seqüência referente a Manter Projeto 59 Figura 3.11 Diagrama de Seqüência referente a Manter Profissionais 60 Figura 3.12 Diagrama de Seqüência referente a Manter Fornecedores 61 viii

10 Figura 3.13 Diagrama de Seqüência referente a Manter Patrocinadores 62 Figura 3.14 Diagrama de Seqüência referente a Manter Correspondências 63 Figura 3.15 Diagrama de Seqüência referente a Manter Cronograma 64 Figura 3.16 Diagrama de Seqüência referente a Acompanhar Gastos 65 Figura 3.17 Diagrama de Seqüência referente à Emissão do Relatório 66 Circunstanciado Figura 3.18 Diagrama de Seqüência referente à Emissão do Relatório 66 de Pré-Projeto Figura 3.19 Diagrama de Seqüência referente à Emissão do Relatório 67 Analítico de Projetos Figura 3.20 Diagrama de Seqüência referente à Emissão do Relatório 67 Completo de Projetos Figura 3.21 Diagrama de Seqüência referente à Emissão do Relatório 68 de Profissionais Figura 3.22 Diagrama de Seqüência referente à Emissão do Relatório 68 de Fornecedores Figura 3.23 Diagrama de Seqüência referente à Emissão do Relatório 69 de Patrocinadores Figura 3.24 Modelo Conceitual 1ª Parte 70 Figura 3.25 Modelo Conceitual 2ª Parte 71 Figura 3.26 Modelo Conceitual 3ª Parte 72 Figura 3.27 Diagrama de Classes do Projeto 1ª Parte 84 Figura 3.28 Diagrama de Classes do Projeto 2ª Parte 85 Figura 3.29 Diagrama de Classes do Projeto 3ª Parte 86 Figura 3.30 Mapeamento do Diagrama de Classes 1ª Parte 87 Figura 3.31 Mapeamento do Diagrama de Classes 2ª Parte 88 Figura 3.32 Mapeamento do Diagrama de Classes 3ª Parte 89 Figura 3.33 Diagrama de Estado de Navegação 1ª Parte 102 ix

11 Figura 3.34 Diagrama de Estado de Navegação 2ª Parte 103 Figura 3.35 Diagrama de Estado de Navegação 3ª Parte 104 Figura 3.36 Tela de Login 105 Figura 3.37 Tela do Menu Principal 106 Figura 3.38 Tela de Manutenção de Proponentes 108 x

12 LISTA DE ABREVIATURAS E SIGLAS CSS DOM HTML MVC MYSQL O.O Cascating Style Document Object Model Linguagem de Marcação de Texto Modelo Visão Controle Linguagem de acesso ao Banco de Dados Orientação a Objetos OMG PHP RUP SGDB Grupo de Gerenciamento de Objetos Pré-processador de hipertexto Rational Unfied Process (Processo Unificado) Sistema Gerenciador de Banco de Dados UML Linguagem de Modelagem Unificada XML Linguagem de marcação expansível xi

13 INTRODUÇÃO A Internet tem se consolidado cada vez mais, abrangendo vários segmentos e negócios: comerciais, industriais, governamentais e outros. Muitas empresas vêem as informações relativas a seus negócios como um de seus mais importantes patrimônios e querem ter acesso a estas de maneira rápida, barata, descentralizada e segura, pois no mundo dos negócios ter a informação certa na hora certa pode fazer toda a diferença na tomada de decisões. Porém, desenvolver sistemas que estejam disponíveis em browser é uma tarefa ainda complexa, cara e demorada que envolve diversos problemas, como portabilidade e segurança, sem falar que as aplicações web geralmente são pouco interativas com os usuários e oferecem recursos limitados se comparados com as tradicionais aplicações para desktop. Desenvolver sistemas para ambiente web com qualidade é uma tarefa complexa que envolve vários processos, metodologias, padrões e tecnologias. Como a Internet é um ambiente de domínio público e acessado por usuários com os mais variados perfis, questões importantes como portabilidade e segurança devem receber atenção especial quando se trata de desenvolver sistemas para este ambiente. O padrão três camadas MVC (Model View Controller, Modelo Visão - Controle) será usado aqui para tratar boa parte destes problemas, dividindo a arquitetura do sistema em camadas distintas, o que aumenta a segurança das informações e facilitam mudanças para adequações a diferentes browsers, possibilitando, ainda, a distribuição das tarefas entre programadores e web designers. Primeiramente, para que a informação possa ser acessada via browser, ela deve estar em formato HTML, que é uma linguagem padrão para apresentação de conteúdo em um navegador (ou browser). Ela basicamente nos possibilita inserir textos, imagens, vídeos e criar links para outras páginas, não oferecendo recursos adicionais para iteração com o usuário, implementação da camada de negócios e iteração com a camada de dados (SGDB). Para estas finalidades é necessário destacar as vantagens do uso de outras linguagens e técnicas de programação como PHP e JavaScript aliadas a HTML para criação de sistemas mais interativos e funcionais. Visto que desenvolver sistemas para ambiente web é uma tarefa que envolve várias 1

14 linguagens e técnicas diferentes, cada uma com sua finalidade, a proliferação de linhas de código é muito grande, o que torna o processo de implementação lento e caro. Uma das soluções para amenizar este problema é o uso de frameworks, que são estruturas de classes inter-relacionadas, as quais constituem uma implementação inacabada para um conjunto de aplicações de um domínio, e que além de permitir a reutilização de um conjunto de classes, minimiza o esforço de desenvolvimento de aplicações, por portar a definição da arquitetura das aplicações [11]. Este trabalho visa apresentar o desenvolvimento de um SISTEMA DE GERENCIA DE PROJETOS para web, adotando o RUP como o processo no seu desenvolvimento, com Framework, JavaScript e PHP, de modo a atender as necessidades da Fundação Aroeira. A motivação de se fazer este trabalho, é de tornar possível a criação de um produto de qualidade com o desenvolvimento de um software O.O através da aplicação dos conhecimentos adquiridos na graduação integrados com a realidade empresarial. O presente trabalho será dividido em três capítulos. O capítulo dois faz uma abordagem inicial aos padrões, metodologias e tecnologias que serão adotadas e utilizadas em todas as fases do desenvolvimento de um Sistema de Gerência de Projetos destinado ao uso da Fundação Aroeira. No capítulo três será feita uma análise e descrição do sistema e dos artefatos de projeto produzidos durante o seu ciclo de vida. 2

15 CAPÍTULO II 2 - FUNDAMENTAÇÃO TEÓRICA Conceitos Básicos da O.O Orientação a Objetos Segundo Adílson da Silva Lima [08], objetos são coisas do mundo real, como carros, animais, etc.., que possuem propriedades ou características. Essas características são os atributos. Os objetos possuem comportamentos que são mais conhecidos como métodos (são as funções que os objetos executam). Na construção de um sistema precisamos buscar todas as propriedades que existem em comum para a execução da tarefa. O ato de buscar ou abstrair objetos comuns a uma determinada realidade denomina-se Abstração [08] Classes Uma classe de objetos descreve um grupo de objetos com propriedades e comportamentos similares, relacionamentos comuns com outros objetos e uma semântica comum. Um objeto que pertence a uma determinada classe é chamado de instância dessa classe. A figura 2.1 mostra a codificação em PHP, da classe Pessoa. Os elementos da classe ficam entre chaves, os atributos $nome, $nascimento e $documento aparecem primeiro com seus tipos. Depois logo em seguida vem os métodos da classe que são as operações da classe. class Pessoa { public $nome; public $nascimento; public $documento; funcion setnome($valor) { $this->nome = $valor 3

16 } funcion setnascimento($valor) { $this->nascimento = $valor } funcion setdocumento($valor) { $this->documento = $valor } } Figura 2.1 Classe Pessoa codificada em linguagem PHP Atributos e Operações (Comportamento) Os atributos de uma classe são as propriedades dos objetos. Esses atributos possuem algumas características importantes, como a visibilidade (escopo), nome, tipo e valor inicial. Segundo Adilson da Silva lima [08], a visibilidade de um atributo pode ser pública, privada, protegida e de pacote (disponível em algumas linguagens, como Java e PHP). O tipo de dado e o valor inicial dependem da linguagem de programação utilizada no modelo. As operações são funções que as classes irão executar, e geralmente os métodos implementam essas funções ou operações. Assim como os atributos, as operações também possuem algumas características como: visibilidade, nome, lista de argumentos e tipo de retorno Herança A herança é um dos principais conceitos da Orientação a Objetos. Com ela surgem mais dois conceitos importantes: superclasse e subclasse. Os objetos além de possuírem características iguais, podem possuir algumas específicas, por exemplo, um objeto Roberto 4

17 que é instância de uma classe pessoa possui nome e CPF como atributos, mas podemos acrescentar mais atributos ou operações ao objeto, de forma que aquelas características sejam específicas dele. A superclasse é a classe mãe por exemplo (Pessoa), cujos objetos são instanciados com os mesmos atributos e operações, e subclasse é a classe filha por exemplo (Funcionário), que além de possuir os atributos e operações da superclasse (no caso pessoa), ela agrega mais características a sua estrutura [08] Polimorfismo O polimorfismo trabalha com a idéia de que objetos diferentes podem possuir as mesmas características e operações, porém executam as tarefas diferentemente [08] Encapsulamento O encapsulamento trabalha de maneira que as informações de como funciona uma operação e seus respectivos detalhes de implementação não fiquem disponíveis, ou seja, podese usar a operação mesmo sem saber detalhes do seu funcionamento interno. A O.O acrescentou importantes conceitos à área de engenharia de software apesar do seu tempo de implementação ser muito maior do que as linguagens procedurais. Uma vez feito o trabalho corretamente e bem feito o retrabalho é desnecessário e a manutenção é muito mais rápida. [11] UML (Unified Modeling Language) Desenvolver sistemas de informação é uma tarefa complexa, onde os engenheiros de software não possuem idéia concreta do que será construído, por isso a importância de se modelar antes de construir para evitar interpretações errôneas do que deveria e do que está 5

18 sendo desenvolvido [07]. Após a popularização do conceito de orientação a objeto surgiram vários modelos com o objetivo de modelar sistemas que utilizassem este conceito. A comunidade de Engenharia de Software sentia a necessidade de um modelo que padronizasse as boas práticas de modelagem. Em 1994 James Rumbaugh juntou-se a Grady Booch na Rational Software Corporation e os dois começaram a trabalhar para unificar seus processos. Em seguida juntou-se a eles Ivan Jacobson. Trabalhado juntos para unificar seus processos, liberaram, em 1996, as versões preliminares da UML, a qual foi muito bem aceita pela a comunidade de Engenharia de Software e se tornou uma espécie de padrão [07]. Segundo o OMG, a UML é uma linguagem para especificação, construção, visualização e documentação de artefatos de um sistema ou negócio [07]. A UML é bastante flexível e não depende de processo, linguagem ou metodologia adotada no desenvolvimento de um sistema, por isso pode ser perfeitamente utilizada para modelar e documentar aplicativos voltados para qualquer ambiente: web ou desktop. Os diagramas padronizados da UML envolvem a identificação de itens que formam o vocabulário do sistema e a especificação de como estes itens relacionam-se entre si, um diagrama UML é um conjunto de itens e relacionamentos [10]. As Figuras 2.2 (a), (b) e (c) mostram três dos diagramas mais utilizadas na modelagem de sistemas. A figura 2.2 (a), mostra o diagrama de caso de uso que é a modelagem de um de terminado caso de uso, sua estrutura básica consiste nos atores representados pelos bonecos, as associações com os casos de uso e os casos de uso. A figura 2.2 (b), mostra o diagrama de seqüência que geralmente é modelado após já ter sido feito a expansão e modelagem dos casos de uso, sua estrutura consiste em atores, objetos que simbolizam a aplicação e o sistema e as associações entre os objetos. A figura 2.2 (c), mostra o diagrama de classes, que modela as classes do sistema e mostra como elas se relacionam. Sua estrutura básica são as classes representadas por tabelas e as associações entre elas. 6

19 Video Locadora Cadastra Cliente Funcionario Efetua Emprestimo Figura 2.2 (a) - Diagrama de Caso de Uso Aplicação Video Locadora Funcionario Dados do Cliente CadastraCliente(Dados) Cadastro Realizado Figura 2.2 (b) Diagrama de seqüência mostra o cadastro de cliente 7

20 Efetuar Emprestimo Cod_Emprestimo Cod_Cliente Data_Emp Data_Dev Valor : int : int : Date : Date : Float + efetuaremprestimo () : boolean * Cod_Cliente Nome CPF Endereco Cliente : int : String : String : String incluircliente () excluircliente () alterarcliente () consultarcliente () : Boolean : Boolean : Boolean : Boolean Figura 2.2 (c) Diagrama de Classes mostra a relação entres as classes. 2.3 Processo Unificado e RUP (Rational Unified Process) O RUP foi criado por Ivan Jacobson, James Rumbaugh e Grady Booch para apoiar o desenvolvimento orientado a objetos, fornecendo uma forma sistemática para se obter real vantagem no uso da UML. De fato, ele não é exatamente um processo de software: é uma infra-estrutura genérica de processo de software que pode ser especializada para uma ampla classe de sistemas de software, para diferentes áreas de aplicação, tipos de organização, níveis de competência e tamanhos de projetos [07]. Segundo Jacobson et al [07], Um processo é um conjunto de passos que define quem está fazendo o que, quando e como para alcançar determinado objetivo [07]. A UML, é uma linguagem para modelagem orientada a objetos e amplamente independente de processo, indica apenas como criar e ler modelos padronizados, mas não aponta quais modelos serão criados nem quando deverão ser criados. Essa tarefa cabe ao processo de desenvolvimento adotado. O RUP explora integralmente as capacidades do padrão UML e baseia-se em algumas das melhores práticas de desenvolvimento de software. O Processo Unificado possui a característica de ser orientado por casos de uso, ser centrado na arquitetura e ser interativo e incremental. O RUP possui fases bem definidas, o que favorece uma padronização do processo. São elas: concepção, elaboração, construção e transição [07]: 8

21 Concepção: nesta fase, são estabelecidos o escopo do projeto e suas delimitações, determinando os principais casos de uso do sistema. Esses casos de uso devem ser elaborados com a precisão necessária para se proceder a estimativas de prazos e custos. Ao término dessa fase, são examinados os objetivos do projeto para se decidir sobre a continuidade do desenvolvimento. Elaboração: o propósito desta fase é analisar mais detalhadamente o domínio do problema, estabelecer uma arquitetura de fundação sólida, desenvolver um plano de projeto para o sistema a ser construído e eliminar os elementos de projeto que oferecem maior risco. Embora o processo deva sempre acomodar alterações, as atividades da fase de elaboração asseguram que os requisitos, a arquitetura e os planos estão suficientemente estáveis e que os riscos estão suficientemente mitigados, de modo a se poder prever com precisão os custos e prazos para a conclusão do desenvolvimento. Construção: durante esta fase, um produto é desenvolvido de maneira iterativa e incremental, para que esteja pronto para ser entregue ao usuário. Transição: nesta fase, o software é disponibilizado à comunidade usuária. Após o produto ter sido colocado em uso, naturalmente surgem novas considerações que vão demandar a construção de novas versões para permitir ajustes do sistema, corrigir problemas ou concluir algumas características que foram postergadas. É importante realçar que dentro de cada fase, um conjunto de iterações, envolvendo planejamento, levantamento de requisitos, análise, projeto, implementação e testes, é realizado. De uma iteração para outra (sendo que cada iteração consiste em fazer levantamento de requisitos, análise, projeto, implementação e testes) e de uma fase para a próxima, a ênfase sobre as várias atividades muda, como mostra a figura 2.3, em que a cor mais escura indica grande ênfase, enquanto a cor branca indica muito pouca ênfase. Na fase de concepção, o foco principal recai sobre o entendimento dos requisitos e a determinação do escopo do projeto (planejamento e levantamento de requisitos). Na fase de elaboração, o enfoque está na captura e modelagem dos requisitos, levantamento de requisitos e análise. Na fase de construção, o enfoque concentra-se no projeto e na implementação, visando evoluir. Finalmente, a fase de 9

22 transição concentra-se nos testes, visando garantir que o sistema possua o nível adequado de qualidade. Além disso, os usuários devem ser treinados e as características ajustadas. Levantamento de Requisitos Análise Projeto Implementação Testes Concepção Elaboração Construção Transição Figura 2.3 A ênfase em cada uma das fases no RUP Processo dirigido por casos de uso (use cases): O RUP é dirigido a casos de uso, pois são os casos de uso que orientam todo o processo de desenvolvimento. Caso de uso é um modelo que define o que o sistema deve fazer da perspectiva dos usuários, subsistemas ou periféricos, e ator é algo que interage com o sistema. Todos os casos de uso de um sistema compõem a especificação funcional do ponto de vista do usuário, ou seja, definem os requisitos do sistema. Os casos de uso dirigem várias atividades de desenvolvimento como: definição dos ciclos iterativos, validação e verificação, implementação e elaboração dos casos de testes Processo centrado na Arquitetura Por ser centrado na arquitetura, o RUP fornece uma base sólida para a construção do software, pois, conforme Ivan Jacobson et al. a arquitetura é a visão de todos os artefatos que 10

23 juntos representam o sistema como um todo [07]. O conceito de arquitetura de software engloba os aspectos estáticos e dinâmicos mais significantes do sistema. A arquitetura é influenciada por muitos fatores como, a plataforma na qual o software será implementado, os blocos de construção reutilizáveis, requisitos não funcionais, blocos responsáveis por requisitos passíveis de mudanças e requisitos fundamentais do sistema. O RUP orienta o arquiteto de sistema de maneira a se concentrar nas metas, como a inteligibilidade, a capacidade de mudanças, a manutenção e a reutilização [08] Processo Iterativo e Incremental Durante o desenvolvimento de um sistema, é prático dividi-lo em mini-projetos. Segundo Jacobson cada mini-projeto é uma iteração que resulta em um incremento. Para garantir mais efetividade, as iterações devem ser controladas, ou seja, devem ser executadas de modo planejado [07]. Para definir quais casos de uso do sistema deverão ser abordados em determinado ciclo iterativo, os analistas levam em conta fatores como as funcionalidades essenciais do sistema e as que oferecem maior risco para o sucesso do projeto. Estas deverão ser abordadas nos primeiros ciclos, sendo refinadas em sucessivas iterações. O ciclo de vida adotado no RUP é tipicamente evolutivo. Este modo de operação torna mais fácil a adaptação do sistema a mudanças dos requisitos, controla riscos do projeto e aceleram o tempo de desenvolvimento MVC (Model View Controller) Modelo Visão Controle O padrão MVC é um padrão de arquitetura de aplicação cujo objetivo é promover uma maior independência entre os componentes do projeto. O padrão MVC separa a lógica da aplicação (Modelo), da interface do usuário (Visão) e do fluxo da aplicação (Controle). É muito comum em grandes projetos a existência de complexas regras de negócio e projetos de interfaces rebuscados, e a redução do acoplamento entre os componentes é 11

24 bastante importante para se atingir maior reusabilidade e mais facilidade de manutenção sem comprometer todo o sistema. O padrão MVC entra como uma solução, por sinal muito usado em aplicações web, para a construção de sistemas cada vez mais coesos e menos acoplados. Modelo: É a camada que contém a lógica da aplicação. É responsável por conter as regras de negócio e, para sistemas persistentes, todo o controle de acesso e tratamento de dados vindos do banco. Recebe as requisições e geram respostas a partir do que foi pedido. Responsável por tudo que a aplicação vai fazer: modela os dados e o comportamento por atrás do processo de negócios preocupa-se apenas com o armazenamento, manipulação e geração de dados é um encapsulamento de dados e de comportamento independente da apresentação. Visão: É a camada de apresentação ao usuário. É a interface que proporcionará a entrada de dados e a visualização das respostas geradas. Em aplicações web é representado pelo HTML que é processado e mostrado pelo navegador. Geralmente contém formulários de entrada de dados e tabelas, grids, etc. Essa camada não contém lógicas de negócio, portanto todo o processamento é feito pelo Modelo e então a resposta é repassada para a Visão. Também chamada de camada de apresentação ou visualização, não esta preocupada em como a informação foi obtida ou onde ela foi obtida, apenas exibe a informação. inclui os elementos de exibição no cliente : HTML, XML, Applets. É a camada de interface com o usuário. É usada para receber a entrada de dados e apresentar o resultado Controle: Já falamos de quem recebe as requisições e de quem as manda. Mas temos que concordar que tudo isso viraria uma grande bagunça se não houvesse alguém para organizar tudo isso. Essa é a função da chamada de controle. Essa camada funciona como um intermediário entre a camada de apresentação e a camada de negócios. Exerce um controle como o próprio nome sugere, determina o fluxo da apresentação servindo como uma camada intermediária entre a camada de apresentação e a lógica [12]. controla e mapeia as ações 12

25 Todo o acesso do cliente ao banco de dados, é feito de acordo com as regras contidas no servidor de aplicações. O cliente não tem acesso direto ao banco de dados, sem antes passar pelo servidor de aplicações. A figura 2.4 exemplifica isso. [11] Servidor de Aplicações Servidor do banco de dados No modelo de três camadas, toda a Lógica do negócio fica no servidor de Aplicações. Com isso, a atualização das regras do negócio fica mais fácil. Cliente Cliente Cliente Cliente Cliente Figura 2.4 O Modelo de desenvolvimento em três camadas[11]. Geralmente as alterações que uma equipe de desenvolvimento faz em um software, voltam-se mais para a lógica do negócio e este estando separado possibilita a manutenção com mais facilidade e rapidez. A Figura 2.5 explica o fluxo de eventos e informações da Arquitetura MVC onde, a camada de visão fornece as informações para a camada de controle que, altera a camada de modelo conforme a lógica de negócio, depois a camada de modelo lança os eventos de mudança para a camada de visão: [9] 13

UNIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMENTO DE COMPUTAÇÃO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

UNIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMENTO DE COMPUTAÇÃO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO UNIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMENTO DE COMPUTAÇÃO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO SIGEP - SISTEMA DE GERÊNCIA DE PROJETO / FUNDAÇÃO AROEIRA FELIPE DOS SANTOS CARVALHO GILOWSKY WELLINGTON BATISTA

Leia mais

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS PDS - DATASUS Processo de Desenvolvimento de Software do DATASUS Coordenação Geral de Arquitetura e Engenharia Tecnológica Coordenação de Padronização e Qualidade de Software Gerência de Padrões e Software

Leia mais

Programa do Módulo 2. Processo Unificado: Visão Geral

Programa do Módulo 2. Processo Unificado: Visão Geral 9.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) O Processo Unificado (RUP) Processo Unificado: Visão Geral 9.2 Encaixa-se na definição geral de processo:

Leia mais

Algumas propriedades dos objetos:

Algumas propriedades dos objetos: Orientação a Objetos Vivemos num mundo de objetos. Esses objetos existem na natureza, nas entidades feitas pelo homem, nos negócios e nos produtos que usamos. Eles podem ser categorizados, descritos, organizados,

Leia mais

Unified Modeling Language UML - Notações

Unified Modeling Language UML - Notações Unified Modeling Language UML - Notações Prof. Ms. Elvio Gilberto da Silva elvio@fmr.edu.br UML Ponto de Vista É gerada com propósito geral de uma linguagem de modelagem visual usada para especificar,

Leia mais

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - MÓDULO 3 - MODELAGEM DE SISTEMAS ORIENTADA A OBJETOS COM UML 1. INTRODUÇÃO A partir de 1980, diversos métodos de desenvolvimento de sistemas surgiram para apoiar o paradigma orientado a objetos com uma

Leia mais

Documentação de um Produto de Software

Documentação de um Produto de Software Documentação de um Produto de Software Versão 3.0 Autora: Profª Ana Paula Gonçalves Serra Revisor: Prof. Fernando Giorno 2005 ÍNDICE DETALHADO PREFÁCIO... 4 1. INTRODUÇÃO AO DOCUMENTO... 6 1.1. TEMA...

Leia mais

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI Dr. George SILVA; Dr. Gilbert SILVA; Gabriel GUIMARÃES; Rodrigo MEDEIROS; Tiago ROSSINI; Centro Federal de Educação Tecnológica do Rio Grande do

Leia mais

Introdução ao OpenUP (Open Unified Process)

Introdução ao OpenUP (Open Unified Process) Introdução ao OpenUP (Open Unified Process) Diferentes projetos têm diferentes necessidades de processos. Fatores típicos ditam as necessidades de um processo mais formal ou ágil, como o tamanho da equipe

Leia mais

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil Profª Esp.: Maysa de Moura Gonzaga 2º Semestre / 2011 O Processo Unificado dos autores Ivar Jacobson, Grady Booch e James

Leia mais

1 UML (UNIFIED MODELING LANGUAGE)

1 UML (UNIFIED MODELING LANGUAGE) 1 UML (UNIFIED MODELING LANGUAGE) Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usuários, com qualidade, por intermédio de uma arquitetura sólida

Leia mais

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no 1.1 RATIONAL UNIFIED PROCESS (RUP) O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no processo que atende pelo nome de Processo Unificado (ou UP do inglês Unified

Leia mais

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; 1 ARQUITETURA E DESIGN DE SOFTWARE O que é Arquitetura? do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; do dicionário: Arte de projetar e construir prédios,

Leia mais

Com relação às áreas de conhecimento de projetos conforme o. PMBoK, julgue os itens subseqüentes.

Com relação às áreas de conhecimento de projetos conforme o. PMBoK, julgue os itens subseqüentes. De acordo com o comando a que cada um dos itens de 1 a 70 se refira, marque, na folha de respostas, para cada item: o campo designado com o código C, caso julgue o item CERTO; ou o campo designado com

Leia mais

PROJETO DE FÁBRICA DE SOFTWARE

PROJETO DE FÁBRICA DE SOFTWARE FACULDADE SETE DE SETEMBRO FASETE Departamento de Sistemas de Informação PROJETO DE FÁBRICA DE SOFTWARE Denise Xavier Fortes Paulo Afonso BA Agosto/2015 Sumário 1. INTRODUÇÃO... 3 2. PERFIS FUNCIONAIS...

Leia mais

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,

Leia mais

Uma Abordagem usando PU

Uma Abordagem usando PU Uma Abordagem usando PU Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Baseada em: Rational Software Corpotation G. Booch, Ivar Jacobson,

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

Fase 1: Engenharia de Produto

Fase 1: Engenharia de Produto Fase 1: Engenharia de Produto Disciplina: Análise de Requisitos DURAÇÃO: 44 h O objetivo principal da disciplina é realizar uma análise das necessidades e produzir um escopo do produto. Representará os

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

Leia mais

WWW - World Wide Web

WWW - World Wide Web WWW World Wide Web WWW Cap. 9.1 WWW - World Wide Web Idéia básica do WWW: Estratégia de acesso a uma teia (WEB) de documentos referenciados (linked) em computadores na Internet (ou Rede TCP/IP privada)

Leia mais

Introdução à Tecnologia Web. Ferramentas e Tecnologias de Desenvolvimento Web. Profª MSc. Elizabete Munzlinger www.elizabete.com.

Introdução à Tecnologia Web. Ferramentas e Tecnologias de Desenvolvimento Web. Profª MSc. Elizabete Munzlinger www.elizabete.com. IntroduçãoàTecnologiaWeb FerramentaseTecnologiasde DesenvolvimentoWeb ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br FerramentaseTecnologiasde DesenvolvimentoWeb

Leia mais

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Alexandro Deschamps (Ápice) alexandro@apicesoft.com Everaldo Artur Grahl (FURB/DSC) egrahl@furb.br Resumo. Uma das grandes

Leia mais

Documento de Arquitetura

Documento de Arquitetura Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11 HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento

Leia mais

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem?

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem? UML e Diagramas de Casos de Uso e Classes Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com A linguagem UML UML (Unified Modeling Language) Linguagem de Modelagem Unificada É uma linguagem de modelagem

Leia mais

guia prático 2a Edição Gilleanes T.A. Guedes Novatec

guia prático 2a Edição Gilleanes T.A. Guedes Novatec guia prático 2a Edição Gilleanes T.A. Guedes Novatec Copyright 2007, 2014 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta

Leia mais

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 UML 2 Guia Prático Gilleanes T.A. Guedes Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 Novatec capítulo 1 Introdução à UML A UML (Unified Modeling Language ou Linguagem de Modelagem

Leia mais

CURSO DESENVOLVEDOR JAVA Edição 2009

CURSO DESENVOLVEDOR JAVA Edição 2009 CURSO DESENVOLVEDOR JAVA Edição 2009 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos e com o uso

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

A Linguagem de Modelagem Unificada (UML)

A Linguagem de Modelagem Unificada (UML) Aécio Costa A Linguagem de Modelagem Unificada (UML) Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente. Surge a UML (Unified Modeling Language)

Leia mais

Pós Graduação Engenharia de Software

Pós Graduação Engenharia de Software Pós Graduação Engenharia de Software Ana Candida Natali COPPE/UFRJ Programa de Engenharia de Sistemas e Computação FAPEC / FAT Estrutura do Módulo Parte 1 QUALIDADE DE SOFTWARE PROCESSO Introdução: desenvolvimento

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

MC302A Modelagem de Sistemas com UML. Prof. Fernando Vanini vanini@ic.unicamp.br

MC302A Modelagem de Sistemas com UML. Prof. Fernando Vanini vanini@ic.unicamp.br MC302A Modelagem de Sistemas com UML Prof. Fernando Vanini vanini@ic.unicamp.br Modelamento de Sistemas e Orientação a Objetos O paradigma de Orientação a Objetos oferece um conjunto de características

Leia mais

Processos de Desenvolvimento de Software. Prof. Hélio Engholm Jr

Processos de Desenvolvimento de Software. Prof. Hélio Engholm Jr Processos de Desenvolvimento de Software Objetivos Descrever o processo de desenvolvimento de software Orientado a Objetos (Object Oriented Software Development - OOSD) Descrever como a modelagem suporta

Leia mais

Modelagem de Processos. Prof.: Fernando Ascani

Modelagem de Processos. Prof.: Fernando Ascani Modelagem de Processos Prof.: Fernando Ascani Bibliografia UML Guia de consulta rápida Douglas Marcos da Silva Editora: Novatec UML Guia do usuário Grady Booch James Rumbaugh Ivair Jacobson Editora: Campus

Leia mais

Potenciais de Aplicação da Metodologia AJAX

Potenciais de Aplicação da Metodologia AJAX SEGeT Simpósio de Excelência em Gestão e Tecnologia 1 Potenciais de Aplicação da Metodologia AJAX Bruno Simões Kleverson Pereira Marcos Santos Eduardo Barrere Associação Educacional Dom Bosco - AEDB RESUMO

Leia mais

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW Baseado nos materiais dos profs: Prof.: Edilberto M. Silva http://www.edilms.eti.br Edna Canedo Marcio de Carvalho Victorino Brasília-DF,

Leia mais

UML (Unified Modeling Language) Linguagem de Modelagem Unificada

UML (Unified Modeling Language) Linguagem de Modelagem Unificada UML (Unified Modeling Language) Linguagem de Modelagem Unificada Introdução É a padronização das metodologias de desenvolvimento de sistemas baseados na orientação a objetos. Foi criada por três grandes

Leia mais

SISTEMA DE GERENCIAMENTO E CONTROLE DE DOCUMENTOS DE TCC E ESTÁGIO

SISTEMA DE GERENCIAMENTO E CONTROLE DE DOCUMENTOS DE TCC E ESTÁGIO SISTEMA DE GERENCIAMENTO E CONTROLE DE DOCUMENTOS DE TCC E ESTÁGIO Marcelo Karpinski Brambila 1, Luiz Gustavo Galves Mahlmann 2 1 Acadêmico do Curso de Sistemas de Informação da ULBRA Guaíba < mkbrambila@terra.com.br

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Conceitos e Metodologias para Desenvolvimento de Software Cascata, Prototipação, Espiral e RUP Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br

Leia mais

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma

Leia mais

Engenharia de Software na Prática Hélio Engholm Jr.

Engenharia de Software na Prática Hélio Engholm Jr. Engenharia de Software na Prática Hélio Engholm Jr. Novatec Sumário Agradecimentos... 17 Sobre o autor... 18 Prefácio... 19 Capítulo 1 Desenvolvimento de software para o valor de negócios... 20 1.1 Qualidade

Leia mais

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2 .:: Universidade Estadual de Maringá Bacharelado em Informática Eng. de Software III :. Sistema de Gerenciamento de Eventos - Equipe 09 EPSI Event Programming System Interface Metodologia e Gerenciamento

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO Contribuições do MDA para o desenvolvimento de software Anna Carla Mohr Verner Helder Eugenio dos Santos Puia Florianópolis,

Leia mais

Modelando Arquiteturas de Aplicativos da WEB com UML

Modelando Arquiteturas de Aplicativos da WEB com UML Modelando Arquiteturas de Aplicativos da WEB com UML Jim Conallen Rational Software White Paper TP 157, 6/99 Uma versão deste material aparece na edição de outubro de 1999 (volume 42, número 10) de Communications

Leia mais

No artigo anterior explicamos. Desenvolvimento de Software Dirigido por Caso de Uso. Parte II: Especificando Caso de Uso

No artigo anterior explicamos. Desenvolvimento de Software Dirigido por Caso de Uso. Parte II: Especificando Caso de Uso Desenvolvimento de Software Dirigido por Caso de Uso Parte II: Especificando Caso de Uso Vinicius Lourenço de Sousa viniciuslsousa@gmail.com Atua no ramo de desenvolvimento de software há mais de 10 anos,

Leia mais

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação. ANEXO 11 O MATRIZ Para o desenvolvimento de sites, objeto deste edital, a empresa contratada obrigatoriamente utilizará o framework MATRIZ desenvolvido pela PROCERGS e disponibilizado no início do trabalho.

Leia mais

ORDEM DE SERVIÇO OS 003/DINFO/2013 16/09/2013

ORDEM DE SERVIÇO OS 003/DINFO/2013 16/09/2013 A DIRETORIA DE INFORMÁTICA DINFO DA UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO -UERJ, no uso de suas atribuições legais, estabelece: Art. 1º: Para fins de normatização do Desenvolvimento Tecnológico na UERJ

Leia mais

Sistemas de Informação e Programação II Odorico Machado Mendizabal

Sistemas de Informação e Programação II Odorico Machado Mendizabal Sistemas de Informação e Programação II Odorico Machado Mendizabal Universidade Federal do Rio Grande FURG C3 Engenharia de Computação 16 e 23 de março de 2011 Processo de Desenvolvimento de Software Objetivos

Leia mais

Geração e execução de scripts de teste em aplicações web a partir de casos de uso direcionados por comportamento 64

Geração e execução de scripts de teste em aplicações web a partir de casos de uso direcionados por comportamento 64 direcionados por comportamento 64 5 Estudo de caso Neste capítulo serão apresentadas as aplicações web utilizadas na aplicação da abordagem proposta, bem como a tecnologia em que foram desenvolvidas, o

Leia mais

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Modelagem OO com UML Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Modelos Maneira

Leia mais

Engenharia de Software I: Análise e Projeto de Software Usando UML

Engenharia de Software I: Análise e Projeto de Software Usando UML Engenharia de Software I: Análise e Projeto de Software Usando UML Capítulo 1 Processo de Desenvolvimento de Software Metodologia de Desenvolvimento de Software Uma metodologia é um conjunto de métodos,

Leia mais

UML Unified Modeling Language

UML Unified Modeling Language UML Unified Modeling Language Linguagem de Modelagem Unificada A linguagem UML UML (Unified Modeling Language) Linguagem de Modelagem Unificada É uma linguagem para especificação, É uma linguagem para

Leia mais

Sumário. HTML CSS JQuery Referências IHC AULA 6 5-09-2011 1

Sumário. HTML CSS JQuery Referências IHC AULA 6 5-09-2011 1 Sumário HTML CSS JQuery Referências IHC AULA 6 5-09-2011 1 Linguagem HTML HTML é a abreviação de HyperText Markup Language, que pode ser traduzido como Linguagem de Marcação de Hipertexto. Não é uma linguagem

Leia mais

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com ANÁLISE E PROJETO ORIENTADO A OBJETOS Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Análise Descrição do problema a ser implementado Descrição dos objetos e classes que fazem parte do problema, Descrição

Leia mais

Desenvolvimento de Software requer Processo e Gestão

Desenvolvimento de Software requer Processo e Gestão Desenvolvimento de Software requer Processo e Gestão Antonio Mendes da Silva Filho * If Edison had a needle to find in a haystack, he would proceed at once with the diligence of the bee to examine straw

Leia mais

Codificar Sistemas Tecnológicos

Codificar Sistemas Tecnológicos Codificar Sistemas Tecnológicos Especificação dos Requisitos do Software Sistema de gestão para a Empresa Cliente SlimSys Autor: Equipe Codificar Belo Horizonte MG Especificação dos Requisitos do Software

Leia mais

Palavras-Chaves: engenharia de requisitos, modelagem, UML.

Palavras-Chaves: engenharia de requisitos, modelagem, UML. APLICAÇÃO DA ENGENHARIA DE REQUISITOS PARA COMPREENSÃO DE DOMÍNIO DO PROBLEMA PARA SISTEMA DE CONTROLE COMERCIAL LEONARDO DE PAULA SANCHES Discente da AEMS Faculdades Integradas de Três Lagoas RENAN HENRIQUE

Leia mais

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

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC CURSO: Bacharelado em Ciência da Computação DISCIPLINA: ANPS Análise e Projeto de Sistemas AULA NÚMERO: 3 DATA: PROFESSOR: Murakami Sumário 1 APRESENTAÇÃO...1 2 DESENVOLVIMENTO...1 2.1 Revisão...1 2.1.1

Leia mais

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr Engenharia de Software Apostila I >>> Introdução à ES - HEngholmJr Histórico de Revisões Data Versão Descrição Autor 12/08/2014 1.0 Criação da primeira versão HEngholmJr Agenda Introdução à Engenharia

Leia mais

Estudo de Caso Sistema de Caixa Automático

Estudo de Caso Sistema de Caixa Automático Estudo de Caso Sistema de Caixa Automático Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Notas de Aula Ulrich Schiel Notas de Aula Ariadne

Leia mais

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

Leia mais

ShoeSystem 1.0 Sistema para loja de calçados

ShoeSystem 1.0 Sistema para loja de calçados Artigo apresentado ao UNIS, como parte dos requisitos para obtenção do título de tecnólogo em Análise e Desenvolvimento de Sistemas 1 ShoeSystem 1.0 Sistema para loja de calçados André Luis dos Reis Revair,

Leia mais

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos

Leia mais

Análise Orientada a Objetos

Análise Orientada a Objetos Análise Orientada a Objetos Breve Histórico: Fim da década de 80: amadurecimento da Orientação a Objeto Década de 1990: diversas proposições a partir de diversos autores, como Booch, Rumbaugh e Jacobson.

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS

METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS PODER JUDICIÁRIO JUSTIÇA DO TRABALHO TRIBUNAL REGIONAL DO TRABALHO DA 11ª REGIÃO SECRETARIA DE TECNOLOGIA DA INFORMAÇÃO - SETI Versão 1.0 MANAUS-AM (2010) MDS Metodologia de Desenvolvimento de Sistemas

Leia mais

2 Engenharia de Software

2 Engenharia de Software 20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite

Leia mais

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo? O que é a UML? Introdução a UML Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário + regras de combinação

Leia mais

Introdução à Tecnologia Web

Introdução à Tecnologia Web Introdução à Tecnologia Web JavaScript Histórico e Características Índice 1 JAVASCRIPT... 2 1.1 Histórico... 2 1.2 Aplicações de JavaScript... 2 a) Interatividade... 2 b) Validação de formulários... 2

Leia mais

QUESTÕES PROVA 2 (28 a 44)

QUESTÕES PROVA 2 (28 a 44) QUESTÕES PROVA 2 (28 a 44) 28) A orientação a objetos é uma forma abstrata de pensar um problema utilizando-se conceitos do mundo real e não, apenas, conceitos computacionais. Nessa perspectiva, a adoção

Leia mais

O modelo unificado de processo. O Rational Unified Process, RUP.

O modelo unificado de processo. O Rational Unified Process, RUP. Cursos: Sistemas de Informação Disciplina: Administração ADM Prof. Jarbas Avaliação: Prova B1, 5º/6º semestres Data: 27/09/2010 Nome: Gabarito RA: Assinatura: Turma: 1) Segundo as afirmações a seguir,

Leia mais

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Juarez Bachmann Orientador: Alexander Roberto Valdameri Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

Leia mais

Afinal o que é HTML?

Afinal o que é HTML? Aluno : Jakson Nunes Tavares Gestão e tecnologia da informacão Afinal o que é HTML? HTML é a sigla de HyperText Markup Language, expressão inglesa que significa "Linguagem de Marcação de Hipertexto". Consiste

Leia mais

PRD Tecnologia de Gestão Ltda. Julho/2008

PRD Tecnologia de Gestão Ltda. Julho/2008 O Processo de Desenvolvimento Telescope Julho/2008 Página 1 Sumário Introdução...3 O desenvolvimento de software tradicional...3 O problema da produtividade...3 O problema da portabilidade...6 O problema

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

Engenharia de Software

Engenharia de Software CENTRO UNIVERSITÁRIO NOVE DE JULHO Profº. Edson T. França edson.franca@uninove.br Software Sistemas Conjunto de elementos, entre os quais haja alguma relação Disposição das partes ou dos elementos de um

Leia mais

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br Desenvolvimento Web Saymon Yury C. Silva Analista de Sistemas http://www.saymonyury.com.br Vantagens Informação em qualquer hora e lugar; Rápidos resultados; Portabilidade absoluta; Manutenção facilitada

Leia mais

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com REVISÃO ENGENHARIA DO SOFTWARE Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Software Sequencia de Instruções a serem seguidas ou executadas Dados e rotinas desenvolvidos por computadores Programas

Leia mais

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas

Leia mais

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN José Agostinho Petry Filho 1 ; Rodrigo de Moraes 2 ; Silvio Regis da Silva Junior 3 ; Yuri Jean Fabris 4 ; Fernando Augusto

Leia mais

Facilidade e flexibilidade na web

Facilidade e flexibilidade na web Facilidade e flexibilidade na web palavras-chave: acessibilidade, usabilidade, web 2.0 Tersis Zonato www.tersis.com.br Web 2.0 o termo de marketing x a nova forma de conhecimento Web 2.0 O conceito começou

Leia mais

SIGECO07 Sistema Integrado de Gestão de Contas Universidade Federal de Lavras PLANO DE PROJETO 23/09/2007 SIGECO07/GERENCIA/PROJETOS/

SIGECO07 Sistema Integrado de Gestão de Contas Universidade Federal de Lavras PLANO DE PROJETO 23/09/2007 SIGECO07/GERENCIA/PROJETOS/ SIGECO07 Sistema Integrado de Gestão de Contas Universidade Federal de Lavras PLANO DE PROJETO 23/09/2007 SIGECO07/GERENCIA/PROJETOS/ ModeloPlanoProjeto_2007_04_24 SIGECO07_PlanoProjeto_2007_09_23 Página

Leia mais

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

Leia mais

Suporte à Engenharia Reversa para o ambiente SEA

Suporte à Engenharia Reversa para o ambiente SEA Otavio Pereira Suporte à Engenharia Reversa para o ambiente SEA Orientador: Ricardo Pereira e Silva Universidade Federal de Santa Catarina - UFSC Departamento de Informática e Estatística - INE Florianópolis

Leia mais

Unified Process. Sueleni Mendez Batista. Orientadora: Dra. Elisa Hatsue Moriya Huzita

Unified Process. Sueleni Mendez Batista. Orientadora: Dra. Elisa Hatsue Moriya Huzita Unified Process Sueleni Mendez Batista Orientadora: Dra. Elisa Hatsue Moriya Huzita Processo de Desenvolvimento de Software 8O processo de desenvolvimento de software é um conjunto de atividades e resultados

Leia mais

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML.

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML. MODELAGEM ORIENTADA A OBJETOS APLICADA À ANÁLISE E AO PROJETO DE SISTEMA DE VENDAS ALTEMIR FERNANDES DE ARAÚJO Discente da AEMS Faculdades Integradas de Três Lagoas ANDRE LUIZ DA CUNHA DIAS Discente da

Leia mais

Professor: Curso: Disciplina:

Professor: Curso: Disciplina: Professor: Curso: Disciplina: Aula 1 Turma: Esp. Marcos Morais de Sousa Sistemas de informação Engenharia de Software I Dinâmica da disciplina, plano de curso e avaliação 03º semestre Prof. Esp. Marcos

Leia mais

3 ao Quadrado - Agenda Web

3 ao Quadrado - Agenda Web 3 ao Quadrado - Agenda Web Relatório de Gestão de Projectos de Software - Grupo A - LEIC 2001/2002 http://gnomo.fe.up.pt/gps01a João Montenegro - ei97023@fe.up.pt André Teixeira - ei97024@fe.up.pt Carlos

Leia mais

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS Lilian R. M. Paiva, Luciene C. Oliveira, Mariana D. Justino, Mateus S. Silva, Mylene L. Rodrigues Engenharia de Computação - Universidade de Uberaba (UNIUBE)

Leia mais

FACULDADE DE CIÊNCIAS SOCIAIS E APLICADAS DO PARANÁ. Sistema de Gestão Escolar PROJETO FINAL Schola Ratio Versão 8

FACULDADE DE CIÊNCIAS SOCIAIS E APLICADAS DO PARANÁ. Sistema de Gestão Escolar PROJETO FINAL Schola Ratio Versão 8 FACULDADE DE CIÊNCIAS SOCIAIS E APLICADAS DO PARANÁ Sistema de Gestão Escolar PROJETO FINAL Schola Ratio Versão 8 CURITIBA Nov 2012 DJULLES IKEDA OSNIR FERREIRA DA CUNHA Sistema de Gestão Escolar PROJETO

Leia mais

Características do Software

Características do Software Questionamentos Por que tanta demora para entregar? Por que os prazos se atrasam? Por que os custos são altos? Por que não achar todos os erros antes de entregar? Por que dificuldade em medir o progresso

Leia mais

UNIVERSIDADE PRESBITERIANA MACKENZIE FACULDADE DE COMPUTAÇÃO E INFORMÁTICA

UNIVERSIDADE PRESBITERIANA MACKENZIE FACULDADE DE COMPUTAÇÃO E INFORMÁTICA EDITAL DO PROGRAMA DE CERTIFICAÇÕES EM COMPUTAÇÃO MACK COMPUTING CERTIFICATION MCC 2º SEMESTRE DE 2014 O Diretor da Faculdade de Computação e Informática (FCI), no uso de suas atribuições estatutárias

Leia mais

O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software

O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software O que é software? Software e Engenharia de Software Programas de computador Entidade abstrata. Ferramentas (mecanismos) pelas quais: exploramos os recursos do hardware. executamos determinadas tarefas

Leia mais

Engenharia de Softwares e Sistema IF682 (2012.1) Bruno Medeiros(bmo@cin.ufpe.br)

Engenharia de Softwares e Sistema IF682 (2012.1) Bruno Medeiros(bmo@cin.ufpe.br) Engenharia de Softwares e Sistema IF682 (2012.1) Bruno Medeiros(bmo@cin.ufpe.br) Algumas definições Engenharia de Software conjunto de tecnologias e práticas usadas para construir software de qualidade

Leia mais

Análise e Projeto de Sistemas

Análise e Projeto de Sistemas Análise e Projeto de Sistemas Unified Modeling Language Benno Eduardo Albert benno@ufrj.br O que é modelagem Tripé de apoio ao desenvolvimento. Notação: UML Ferramenta: Rational Rose. 2 O que é modelagem

Leia mais

Curso de Desenvolvimento Web com HTML5, CSS3 e jquery

Curso de Desenvolvimento Web com HTML5, CSS3 e jquery Curso de Desenvolvimento Web com HTML5, CSS3 e jquery Professor: Marcelo Ricardo Minholi CH: 32 horas anuais (4 dias de 8 horas) Umuarama - 2012 Fundamentação Teórica: HTML (acrônimo para a expressão inglesa

Leia mais

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider Ferramenta: Spider-CL Manual do Usuário Versão da Ferramenta: 1.1 www.ufpa.br/spider Histórico de Revisões Data Versão Descrição Autor 14/07/2009 1.0 15/07/2009 1.1 16/07/2009 1.2 20/05/2010 1.3 Preenchimento

Leia mais

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED UML 01 Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Referências BARBIERI, Carlos. Análise e Programação

Leia mais

Aplicativos para Internet Aula 01

Aplicativos para Internet Aula 01 Aplicativos para Internet Aula 01 Arquitetura cliente/servidor Introdução ao HTML, CSS e JavaScript Prof. Erika Miranda Universidade de Mogi das Cruzes Uso da Internet http://www.ibope.com.br/pt-br/noticias/paginas/world-wide-web-ou-www-completa-22-anos-nesta-terca-feira.aspx

Leia mais