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

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

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

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

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

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

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

Plano de Gerenciamento do Projeto

Plano de Gerenciamento do Projeto Projeto para Soluções Contábeis 2015 Plano de Gerenciamento do Projeto Baseado na 5ª edição do Guia PMBOK Brendon Genssinger o e Elcimar Silva Higor Muniz Juliermes Henrique 23/11/2015 1 Histórico de alterações

Leia mais

Wilson Moraes Góes. Novatec

Wilson Moraes Góes. Novatec Wilson Moraes Góes Novatec Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,

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

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP RUP Rational Unified Process ( Unificado de Desenvolvimento da Rational) Conjunto de passos que tem como objetivo atingir uma meta de software na ES, processo que visa a produzir o software - de modo eficiente

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

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

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

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

Documento de Análise e Projeto VideoSystem

Documento de Análise e Projeto VideoSystem Documento de Análise e Projeto VideoSystem Versão Data Versão Descrição Autor 20/10/2009 1.0 21/10/2009 1.0 05/11/2009 1.1 Definição inicial do documento de análise e projeto Revisão do documento

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

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial 1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão

Leia mais

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com PMBoK Organização do Projeto Os projetos e o gerenciamento

Leia mais

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas 4.1 Motivação Sistemas de Informação são usados em diversos níveis dentro de uma organização, apoiando a tomada de decisão; Precisam estar

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

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

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

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

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

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

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

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Engenharia de Software Parte I Introdução Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Mitos do Desenvolvimento de Software A declaração de objetivos é suficiente para se construir um software.

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados 1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,

Leia mais

Manual do Visualizador NF e KEY BEST

Manual do Visualizador NF e KEY BEST Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................

Leia mais

Introdução a listas - Windows SharePoint Services - Microsoft Office Online

Introdução a listas - Windows SharePoint Services - Microsoft Office Online Page 1 of 5 Windows SharePoint Services Introdução a listas Ocultar tudo Uma lista é um conjunto de informações que você compartilha com membros da equipe. Por exemplo, você pode criar uma folha de inscrição

Leia mais

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

Leia mais

Modelagemde Software Orientadaa Objetos com UML

Modelagemde Software Orientadaa Objetos com UML Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para

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: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma: 1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que

Leia mais

Planejando o aplicativo

Planejando o aplicativo Um aplicativo do Visual FoxPro geralmente inclui um ou mais bancos de dados, um programa principal que configura o ambiente de sistema do aplicativo, além de uma interface com os usuários composta por

Leia mais

Histórico da Revisão. Data Versão Descrição Autor

Histórico da Revisão. Data Versão Descrição Autor Sistema de Gerenciamento de Loja - SIGEL Documento de Visão Versão 1.0.0 Histórico da Revisão Data Versão Descrição Autor 13/01/2011 0.1 Versão preliminar do levantamento de requisitos funcionais e não

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

Introdução à Computação

Introdução à Computação Aspectos Importantes - Desenvolvimento de Software Motivação A economia de todos países dependem do uso de software. Cada vez mais, o controle dos processos tem sido feito por software. Atualmente, os

Leia mais

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

Leia mais

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MANUAL

Leia mais

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de

Leia mais

Processo de Desenvolvimento Unificado

Processo de Desenvolvimento Unificado Processo de Desenvolvimento Unificado Processo de Desenvolvimento de Software? Conjunto de atividades bem definidas; com responsáveis; com artefatos de entrada e saída; com dependências entre as mesmas

Leia mais

Sistema de Controle de Solicitação de Desenvolvimento

Sistema de Controle de Solicitação de Desenvolvimento Sistema de Controle de Solicitação de Desenvolvimento Introdução O presente documento descreverá de forma objetiva as principais operações para abertura e consulta de uma solicitação ao Setor de Desenvolvimento

Leia mais

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas PIM PROGRAMA DE INTEGRAÇÃO COM O MERCADO GUIA DE CURSO Tecnologia em Sistemas de Informação Tecnologia em Desenvolvimento Web Tecnologia em Análise e Desenvolvimento de Sistemas Tecnologia em 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

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

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

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Processo de Desenvolvimento de Software. Engenharia de Software. nelmarpg@yahoo.com.br

Processo de Desenvolvimento de Software. Engenharia de Software. nelmarpg@yahoo.com.br Processo de Desenvolvimento de Software nelmarpg@yahoo.com.br 1 Objetivos Contextualizar Análise e Projeto de software dentro de uma metodologia de desenvolvimento (um processo de desenvolvimento de software)

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

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como: Plano de Teste (resumo do documento) I Introdução Identificador do Plano de Teste Esse campo deve especificar um identificador único para reconhecimento do Plano de Teste. Pode ser inclusive um código

Leia mais

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS O termo metodologia não possui uma definição amplamente aceita, sendo entendido na maioria das vezes como um conjunto de passos e procedimentos que

Leia mais

ATIVIDADES PRÁTICAS SUPERVISIONADAS

ATIVIDADES PRÁTICAS SUPERVISIONADAS ATIVIDADES PRÁTICAS SUPERVISIONADAS CST em Análise e Desenvolvimento de Sistemas 5ª. Série Programação e Design para Web A atividade prática supervisionada (ATPS) é um procedimento metodológico de ensino-aprendizagem

Leia mais

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT Disciplina: Modelagem a Programação Orientada a Objetos

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Introdução Projeto de Arquitetura (Cap 11 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Até agora, estudamos: Os

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

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto

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

Ricardo Roberto de Lima UNIPÊ 2008.1 APS-I. Históricos e Modelagem Orientada a Objetos

Ricardo Roberto de Lima UNIPÊ 2008.1 APS-I. Históricos e Modelagem Orientada a Objetos Históricos e Modelagem Orientada a Objetos Histórico Diversas metodologias e métodos surgiram para apoiar OO. Evolução a partir de linguagens C++ e SmallTalk. Anos 80 Anos 80-90: diversidade de autores.

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

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

1. Introdução e Objetivos 2. Fundamentação teórica 3. Desenvolvimento e Especificações do sistema

1. Introdução e Objetivos 2. Fundamentação teórica 3. Desenvolvimento e Especificações do sistema SISTEMA DE CONTROLE DE INDICADORES DE DESEMPENHO VOLTADO À DISPONIBILIDADE DE SERVIÇOS DE TI BASEADO NA BIBLIOTECA ITIL V3 Eduardo Cuco Roteiroda apresentação 1. Introdução e Objetivos 2. Fundamentação

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

O Processo de Desenvolvimento de Software

O Processo de Desenvolvimento de Software O Processo de Desenvolvimento de Software Objetivos Contextualizar Análise e Projeto de software dentro de uma metodologia de desenvolvimento (um processo de desenvolvimento de software) Um processo de

Leia mais

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. 1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. Editando um Artigo 4.3. Excluindo um Artigo 4.4. Publicar

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

Tópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres

Tópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres Tópicos de Ambiente Web Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres Roteiro Motivação Desenvolvimento de um site Etapas no desenvolvimento de software (software:site) Analise

Leia mais

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

Unidade II MODELAGEM DE PROCESSOS

Unidade II MODELAGEM DE PROCESSOS Unidade II 3 MODELAGEM DE SISTEMAS 1 20 A fase de desenvolvimento de um novo sistema de informação (Quadro 2) é um momento complexo que exige um significativo esforço no sentido de agregar recursos que

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

Organização dos Estados Ibero-americanos. Para a Educação, a Ciência e a Cultura

Organização dos Estados Ibero-americanos. Para a Educação, a Ciência e a Cultura Organização dos Estados Ibero-americanos Para a Educação, a Ciência e a Cultura TERMO DE REFERÊNCIA PARA CONTRATAÇÃO DE PESSOA FÍSICA CONSULTOR POR PRODUTO 1. Projeto: OEI/BRA/09/004 - Aprimoramento da

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

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

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

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

Leia mais

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC 1 Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC Edilberto Silva 1, André Luiz (1012545), Andreia Pereira da Silva (1012547) Carlos Alberto (1012206), Humberto César de Carvalho

Leia mais

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes

Leia mais

3. Fase de Planejamento dos Ciclos de Construção do Software

3. Fase de Planejamento dos Ciclos de Construção do Software 3. Fase de Planejamento dos Ciclos de Construção do Software A tarefa de planejar os ciclos de construção do software pode partir de diretrizes básicas. Estas diretrizes visam orientar que os ciclos de

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

Projeto Disciplinar de Infra-Estrutura de Software ECOFROTA TRIBUNAL THEMIS

Projeto Disciplinar de Infra-Estrutura de Software ECOFROTA TRIBUNAL THEMIS 1 Projeto Disciplinar de Infra-Estrutura de Software ECOFROTA TRIBUNAL THEMIS EDILBERTO SILVA 1, AQUILA ISRAEL (1316079) 2, CYNTHIA FERREIRA (1316079) 2, MARKO DE CASTRO (1316119) 2, RAFAELA ALMEIDA (1316189)

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

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com Introdução a UML Hélder Antero Amaral Nunes haanunes@gmail.com Introdução a UML UML (Unified Modeling Language Linguagem de Modelagem Unificada) é uma linguagem-padrão para a elaboração da estrutura de

Leia mais

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 Controle de Revisões Micropagamento F2b Web Services/Web 18/04/2006 Revisão Data Descrição 00 17/04/2006 Emissão inicial. www.f2b.com.br

Leia mais

Project and Portfolio Management [PPM] Sustainable value creation.

Project and Portfolio Management [PPM] Sustainable value creation. Project and Portfolio Management [PPM] Sustainable value creation. O SoftExpert PPM Suite é a solução mais robusta, funcional e fácil para priorizar, planejar, gerenciar e executar projetos, portfólios

Leia mais

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER Objetivo dessa aula é descrever as características e a simbologia dos diagramas UML e MER na modelagem de sistemas de informação de uma forma a permitir a comunicação entre técnicos e gestores. Modelagem

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

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

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.

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