Uma Metodologia de Desenvolvimento de Sistemas de Informações em Empresas de Pequeno e Médio Porte

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Uma Metodologia de Desenvolvimento de Sistemas de Informações em Empresas de Pequeno e Médio Porte"

Transcrição

1 Uma Metodologia de Desenvolvimento de Sistemas de Informações em Empresas de Pequeno e Médio Porte Autoria: Denis Silveira, Eber Schmitz Resumo: Este artigo apresenta uma Metodologia Rápida de Desenvolvimento de Software Orientado a Objetos (MRDS) para uso em empresas de pequeno e médio porte. As metodologias existentes no mercado são muito complexas envolvendo um grande número de fases e de tipos diferentes de documentos. Como conseqüência o esforço de implantação destas metodologias acaba não sendo compatível com o porte da empresa. O resultado final é que as empresas ficam sem usar metodologia alguma. A MRDS se propõe a resolver este problema, abrangendo as fases do desenvolvimento que vão desde da modelagem de processos de negócio até o projeto detalhado das classes. Com uma abordagem minimalista, a MRDS reduz ao mínimo o número de passos e, conseqüentemente, o número de documentos a serem produzidos. Todo o esforço de modelagem é concentrado na produção de modelos que sejam utilizados diretamente na geração do código fonte do sistema. Como conseqüência, a MRDS é uma metodologia com um custo muito baixo tanto para sua implantação como para sua utilização. Palavras chave: Metodologia, UML, Engenharia de Software, Orientação a Objetos, Arquitetura de Software, Modelagem de Negócio, Engenharia de Requisitos, CASE; 1 Introdução No decorrer do tempo, o papel das tecnologias de informação nas organizações vem sofrendo diversas alterações. Atualmente, as tecnologias de informação encontram-se na origem de mudanças significativas ao nível dos modelos de negócios das empresas, e constituem um elemento fundamental para a obtenção das vantagens estratégicas e competitivas (Cruz, 1998). Por isso, a respectiva implementada nas organizações devem ser cuidadosamente planejada e estruturada, de modo a garantir o alinhamento com os objetivos estratégicos do negócio. A crescente complexidade dos sistemas de informação e a dificuldade de representação da sua estrutura aos diversos interessados (gerentes, usuários, analistas, etc.), motivou durante a década de 80 e inicio da década de 90 um conjunto de esforços no sentido de formalizar e unificar a respectiva apresentação, de modo a permitir controlar e guiar o processo de construção de um sistema. Uma metodologia é um agregado de técnicas e ferramentas que tem por objetivo padronizar o processo de desenvolvimento de sistemas em uma empresa (Ghezzi, Jazayeri e Mandrioli, 1991). Uma metodologia para desenvolvimento de sistemas especifica a seqüência de passos e a serem seguidos durante o desenvolvimento de um sistema de informação. A cada um destes passos, associa-se um conjunto de atividades, seus produtos e as regras de verificação que garantem a passagem para a próxima fase (Pressman, 2001). Os produtos das diferentes fases de uma metodologia são especificações que descrevem, com um certo grau de abstração, o sistema de informação que está sendo desenvolvido. Esta especificação abstrata é chamada de modelo. Utilizamos modelos na construção de sistemas 1

2 complexos, porque em geral não conseguimos compreender o sistema em sua totalidade. Um modelo é uma descrição da realidade que ressalta alguns aspectos em detrimento de outros. Cada tipo de modelo utiliza uma notação precisa e um conjunto de regras sintáticas e semânticas (Schmitz e Silveira, 2000). Os modelos de sistema de informação podem ser classificados, de acordo com seu estilo, em: baseado em fluxo de dados, relacionais e orientado a objetos. A orientação a objeto, na década de 90 se afirmou como o estilo de projeto mais utilizado no desenvolvimento de software (Booch, 1994) (Coad e Yourdon, 1991) (Jacobson et al., 1992) (Rumbaugh et al., 1994) (Schmitz e Silveira, 2000). As grandes vantagens deste estilo de projeto são: uma melhor representação do mundo real devido ao mapeamento simples que existe entre os objetos computacionais e os do mundo real, um mecanismo simples para a modularização e a possibilidade de construção de componentes extensíveis. A adoção da UML (Unified Modeling Language) (Booch, Jacobson e Rumbaugh, 1999) pela OMG (Object Management Group) em 1997 como padrão para a descrição de modelos de sistemas orientados a objeto, trouxe como conseqüência um crescimento do uso da UML, em detrimento das outras, como linguagem de modelagem de sistemas orientados a objetos. A UML solucionou o problema da escolha da linguagem usada no modelo, mas trouxe consigo uma notação muito extensa, que cresce desde a análise até o projeto. Certos elementos da notação (por exemplo, classes, associações, agregações e herança) são introduzidos durante a análise. Outros elementos da notação (por exemplo, indicadores de restrição de implementação) são introduzidos durante o projeto (Quatrani, 1998). O uso de uma linguagem de modelagem tão complexa e extensível quanto a UML requer um suporte de ferramentas CASE (Computer Aided Software Engineering). Mesmo que os primeiros esboços de um modelo sejam feitos manualmente, a tarefa de manter, sincronizar e fornecer consistência em um certo número de diagramas torna-se bastante difícil sem o uso de uma ferramenta. 2 Problemas na Adoção de uma Metodologia A aplicação de uma metodologia de desenvolvimento de um sistema de informação orientado a objetos encontra diversos problemas, entre os quais, o mais importante é a mudança dos padrões de trabalho da equipe de desenvolvimento. Do ponto de vista mais restrito, da gerencia do processo de desenvolvimento, duas questões importantes aparecem quando uma organização resolver adotar uma metodologia de desenvolvimento de sistemas: Qual metodologia utilizar? As metodologias que cobrem a orientação a objetos ou são muito detalhadas e não podem ser usadas em empresas de pequeno porte, ou então, se apresentam de uma maneira muito didática e não tocam nos verdadeiros problemas que os profissionais vão encontrar na prática; e Qual ferramenta de suporte adotar? A complexidade do processo de desenvolvimento de um sistema exige o uso de ferramentas automatizadas. Essas ferramentas, além de serem inviáveis para uma empresa de pequeno porte, devido o seu custo, são bastante sofisticadas o que implica num tempo maior no processo de aprendizado. 2

3 2.1 Metodologias A potencialidade vista no desenvolvimento de sistemas utilizando a orientação a objetos ocasionou, no decorrer dessa década, a publicação de uma grande quantidade de metodologias (Booch, 1994) (Coad e Yourdon, 1991) (Jacobson et al., 1992) (Rumbaugh et al., 1994) (Shlaer e Mellor, 1990) (Schmitz e Silveira, 2000). Hoje a que mais se destaca é a abordagem adotada no RUP (Rational Unified Process) (Jacobson, Booch e Rumbaugh, 1999), que especifica uma forma de desenvolvimento cíclico para o sistema. O RUP é uma metodologia (ou processo) iterativa, onde cada iteração representa um ciclo completo de desenvolvimento, desde a captação de requisitos na análise até a implementação e a realização de testes, resultando numa versão executável do sistema. Por sua vez, as iterações são agrupadas em fases. Uma fase é o período de tempo entre dois marcos de progresso, onde objetivos são alcançados, artefatos são concluídos e decisões são tomadas em relação à passagem para a fase seguinte. O RUP define as seguintes fases: Concepção: estabelece os requisitos para o projeto; Elaboração: estabelece um plano de projeto e uma arquitetura sólida; Construção: desenvolve o sistema; e Transição: fornece o sistema a seus usuários finais. A passagem pelas quatro fases é chamada de ciclo de desenvolvimento e resulta na geração de um sistema. A geração segue os seguintes fluxos de trabalho: Modelagem de negócio: descreve a estrutura e a dinâmica da empresa; Requisitos: descreve o método baseado em casos de uso para identificar requisitos. Análise e projeto: descreve as várias visões da arquitetura; Implementação: fase destinada a codificação e testes de unidades; Testes: descrevem os casos de testes, procedimentos e medidas para acompanhamento dos erros; Entrega: abrange a configuração do sistema; Gerenciamento de configuração: controla as modificações e mantém a integridade dos artefatos do projeto; Gerenciamento de projeto: descreve as várias estratégias para o trabalho como um processo iterativo; e Ambiente: abrange a infra-estrutura necessária para o desenvolvimento. A adoção do RUP em um treinamento numa empresa de médio e pequeno porte de desenvolvimento de sistemas apresenta os seguintes problemas: Complexidade: o processo, que consiste de fluxos e fases, é confuso para os iniciantes; Tempo de aprendizado: num período normal de curso de treinamento (2 meses) fica difícil fazer trabalhos práticos que exercitem todos os passos desta metodologia; e Práticas das empresas: existe uma grande distância entre as práticas do RUP e as práticas de desenvolvimento de sistemas nas empresas, fazendo com que o 3

4 2.2 Ferramentas iniciante tenha dificuldades para aplicar alguma parte de seu conhecimento no seu trabalho. Um CASE é um conjunto de técnicas e ferramentas automatizadas que auxiliam os projetistas de sistemas no desenvolvimento de aplicações, com o objetivo de diminuir o respectivo esforço e complexidade, de melhorar o controle do projeto, de aplicar sistematicamente um processo uniformizado e de automatizar algumas atividades como a verificação de consistências entre os modelos (Pressman, 2001). Existe um grande número de ferramentas CASE disponíveis no mercado. Entre elas, o Rational Rose (Rational, 1998) (Quatrani, 1998) é uma ferramenta CASE muito poderosa e bastante completa e que dá suporte às atividades do RUP. Por outro lado, as ferramentas, existentes no mercado, colocam alguns problemas aos gerentes das organizações. São eles: Custo: seus preços estão fora do alcance da maioria das pequenas empresas; Língua: um grande número de ferramentas operam em inglês, colocando mais uma barreira no processo de aprendizado; e Recursos computacionais: o uso eficiente de algumas ferramentas requer uma máquina com razoável poder computacional. 2.3 Arquitetura de Software Quando o tamanho e a complexidade de um sistema aumenta, a importância relativa da estrutura global do sistema se torna mais importante do que os aspectos mais localizados, tais como, a escolha dos algoritmos e das estruturas de dados usadas no processamento. A arquitetura de software se preocupa com estes aspectos mais gerais, que no nosso caso são, os diferentes tipos de componentes de software e suas formas de interação (Garlan et al., 1997). A arquitetura de software estuda um conjunto de aspectos estruturais que envolvem: a forma de organizar o sistema como um conjunto de componentes interconectados; as estruturas de controle responsáveis pela forma de sequenciamento do programa; os protocolos para comunicação, sincronismo e acesso a dados entre estes componentes; a alocação de funcionalidade a cada um dos componentes; a distribuição física destes componentes; estudos de desempenho e escalabilidade; e formas de evolução. Embora a definição de sua arquitetura seja um aspecto crítico para qualquer sistema complexo, ainda não existe uma definição que seja aceita universalmente. A definição do que é a arquitetura de um sistema pode variar de acordo com o tamanho do projeto, o tempo disponível, os objetivos, o nível de risco e inovação, o número de pessoas envolvidas, sua proximidade, suas habilidades para comunicação e resolução de conflitos. 4

5 Na prática, a definição da arquitetura de um sistema deve cumprir dois papéis (Garlan et al., 1997): 1. fornecer um nível de abstração no qual os projetistas podem argumentar sobre o comportamento do sistema: funcionalidade, desempenho, confiabilidade, e etc; e 2. fornecer uma "consciência" para a evolução do sistema, indicando quais aspectos do sistema podem ser facilmente alterados sem comprometer a integridade do sistema. Em outras palavras, o desenvolvimento da arquitetura de um software é análogo à criação da arquitetura de um prédio. Em ambos os casos, os arquitetos estão usando uma descrição simplificada para tornar possível a discussão de assuntos mais gerais, sem se preocupar, neste momento, com os problemas de construção dos componentes do sistema. 3 A Metodologia Rápida de Desenvolvimento de Sistemas Um dos objetivos da MRDS é diminuir a quantidade de documentos produzidos na construção de um sistema de qualidade (ver figura 1). Desse modo, dividimos o processo de desenvolvimento em três fases. A primeira define o Modelo de Processos. Esta fase descreve os processos tais como eles possam ser entendidos, e otimizados dentro da organização. A segunda é a definição do Modelo de Requisitos. Essa fase tem por objetivo definir os requisitos do sistema, ou seja, responder a seguinte pergunta: qual as funcionalidades esperadas pelo sistema? Não é escopo desse artigo definir como obter um bom modelo de requisitos. Entretanto, o modelo de requisitos é fundamental para se chegar a um bom projeto. A terceira fase, chamada de Modelo de Análise e Projeto, tem como objetivo transformar o Modelo de Requisitos na definição dos módulos componentes do sistema. Nessa fase fazemos uso de uma arquitetura padrão. A arquitetura padrão utilizada não especificará uma solução particular em detrimentos de outra, mas guiará o projetista a uma forma de estruturar suas decisões que o levará a um resultado positivo. 3.1 Modelo de Processos Um sistema de informação é um conjunto integrado de recursos (humanos e tecnológico) cujo objetivo é satisfazer adequadamente a totalidade das necessidades de informação de uma organização e os respectivos processos de negócio (Stair, 1998). Um processo de negócio pretende representar uma seqüência de atividades, que processam vários inputs e produzem vários outputs e que possuem objetivos (Gonçalves, 2000). Desse modo, um processo descreve uma seqüência de passos ou atividades que podem ser expressas em ações por um indivíduo, um grupo ou um sistema de informação (isto é, algum ator ou agente). O Diagrama de Atividades, definido na UML, foi escolhido para a modelagem de processos. Ele ilustra uma seqüência de atividades, manuais ou automatizadas, necessárias à execução de um processo (Booch, Jacobson e Rumbaugh, 1999). Entre as suas características, destaca-se a possibilidade de representação de atividades paralelas, diferenciando-o de um mero fluxograma. No Modelo de Processos as atividades são passos de processamento dentro de um processo transformando objetos e requerendo recursos para sua execução. Atividades podem ser agrupadas dentro de um processo de domínio em sub-processos. Atividades possuem entradas e saídas que 5

6 devem ser descritos no formato de objetos. Após especificação detalhada das atividades, são determinados os requisitos necessários para sua execução. Os produtos dessa fase envolvem diversos elementos, dos quais destacamos os principais abaixo: processos: são coleções de atividades; atividades: são as tarefas (trabalhos) a serem realizados. Uma atividade requer recursos para realizar um script; artefatos: são produtos produzidos ou consumidos por atividades durante a sua realização; recursos: representam tudo que é necessário para a execução da atividade. Um recurso humano, especificamente, desempenha um papel na execução das atividades do processo; transição: é o encadeamento entre duas atividades; e desvio: é um condicional para a transição entre duas ou mais atividades. 3.2 Modelo de Requisitos O objetivo da fase de Modelagem de Requisitos é especificar as funcionalidades de um sistema a ser desenvolvidos (Schmitz e Silveira, 2000). Um requisito é uma especificação de uma determinada ação ou determinada condição que o sistema deverá satisfazer. Os produtos dessa fase são: Modelo de Use Cases Pacotes com use cases: modelos que mostram os atores e os use cases com as suas relações. Cada use case será acompanhado da suas descrição textual. Essa descrição segue ao modelo utilizado em (Schmitz e Silveira, 2000); Maquete Interfaces gráficas: as maquetes devem especificar todos os componentes de interface (telas, botões, campos, etc.) que são utilizados pelo sistema; Modelo de Domínio Classes de Domínio: As classes de objetos que devem ser documentadas; O roteiro a ser seguido na construção do Modelo de Requisitos segue os seguintes passos: 1. Definir o escopo do sistema: Essa definição deverá ser retirada através dos Diagramas de Atividades; 2. Criar uma versão preliminar do Modelo de Domínio, ou seja, as classes do domínio do problema, definindo quais as entidades e suas definições. Este modelo será melhorado e corrigido a medida que os Use Cases forem sendo detalhados. 3. Executar iterativamente as seguintes etapas: Listar os casos de uso e os atores que interarem com o sistema; Acrescentar a cada um dos Use Cases; uma maquete da interface; e 6

7 uma definição para o Use Case.; Estruturar os casos de uso; definir as extensões para os casos (relação extends); e definir os casos que podem ser colocados em evidência e reaproveitados (relação uses); Definir os pacotes de Use Cases; 4. Verificar o modelo para tirar os possíveis erros de consistência entre as maquetes, descrição dos use cases e a Modelagem de Processos. 3.3 Modelo de Análise e Projeto O objetivo desta fase é produzir um plano que permita a construção do sistema. Essa fase é composta pelos Modelos Estático e Dinâmico. O Modelo Estático é composto por um conjunto de diagramas de classes. O Modelo Dinâmico é composto por um conjunto de diagramas de seqüência e de estados. Esta etapa deve ser feita de forma iterativa pelo projetista, o que significa que ele não deve esperar obter o modelo final na primeira vez, mas sim, que terá de executar estes passos repetidamente até obter um modelo completo e consistente. A figura 3 mostra o esquema da interação das fases da MRDS. O roteiro para a construção deste modelo é: 1. Para cada pacote de use cases, definido no Modelo de Requisitos, deverá ser definido um diagrama de classes. Esse diagrama de classes deverá mostrar os relacionamentos entre as classes de domínio, interface e controle. Na próxima seção apresentaremos com mais detalhes essas classes. 2. Para cada pacote de use cases, definido no Modelo te Requisitos, deverá ser definido um diagrama de seqüência. Este passo pode ser tornado de rotina se lembrarmos que as interações entre o objeto de controle e os objetos de interface ou de domínio seguem alguns padrões definidos em (Schmitz e Silveira, 2000); A criação dos diagramas de seqüência é um passo fundamental para a definição da implementação dos casos de uso do sistema. Ao definir os serviços que cada um dos objetos participantes do caso deve prover para a execução do mesmo, o projetista vai refinando as definições das classes do sistema, previamente, definidos no Modelo de Domínio. 3. Criar um diagrama de transição de estados para as classes de domínio, interface e controle que tenham ciclos de vida não-triviais; 4. Examinar novamente os diagramas de classes para verificar se algumas relações de herança podem ser descobertas; e 5. Verificar os modelos para tira os eventuais erros de consistência entre os modelos definidos. 7

8 Figura 1 Visão Geral da MRDS 3.4 A Arquitetura Padronizada da MRDS Um dos grandes desafios das metodologias de desenvolvimento de software é resolver o problema de transformação do modelo de requisitos na especificação dos módulos constituintes do sistema. Esta atividade, conhecida como projeto, é intrinsecamente complexa, pois para cada modelo de requisitos temos uma infinidade de maneiras de definir os módulos que irão compor a implementação. Uma das maneiras de atacar este problema é definindo uma arquitetura de software para o sistema (Shaw e Garlan, 1996) (Garlan et al., 1997). A arquitetura padrão da MRDS define uma infraestrutura para a construção de sistemas orientados a objetos. O objetivo principal dessa arquitetura padrão é prover um ambiente confiável e de fácil manutenção, onde aplicações possam cooperar e evoluir de acordo com a necessidade da organização. A adoção dessa arquitetura padrão faz com que o projetista possa concentrar o seu esforço na solução dos problemas de projeto relevantes ao sistema em desenvolvimento que são: (1) quais as classes que comporão o sistema? (2) quais os serviços que cada uma delas deve prover? 8

9 O estilo de arquitetura de software orientado a objetos fornece outras abstrações para projetos de software. Na sua forma mais simples, os objetos permitem encapsular dados e comportamentos em componentes que apresentam uma interface explícita para outros componentes. Neste estilo é possível definir uma interação entre um grupo de objetos, que virão a formar um componente mais complexo. Sendo assim, a arquitetura utilizada pela MRDS definir três aspectos importantes para os objetos de um sistema (Schmitz e Silveira, 2000): 1. os mecanismos utilizados para o armazenamento de dados; São os objetos que persistem as informações do sistema. Estes objetos correspondem aos objetos do domínio do problema, que são identificados no modelo de Requisitos. 2. os mecanismos utilizados para a interface com o usuário; São os objetos encarregados da interação entre usuários e sistema. Transformam eventos externos em sinais internos e eventos internos em sinais para o mundo externo; 3. os mecanismos utilizados para o controle do sistema. são os objetos encarregados do sequenciamento entre os objetos de interface com os objetos de domínio. Figura 2 - Estrutura das classes da Arquitetura Padrão 4. Experiências e Conclusões A MRDS vem sendo desenvolvida desde Neste período ela vem sendo aprimorada pelo uso, tanto em turmas de graduação como em projetos de empresas de pequeno e médio porte. A adoção de uma metodologia de desenvolvimento de sistemas em empresas de pequeno e médio porte encontra como obstáculos: (1) o custo da implantação, (2) o impacto do uso da metodologia na produtividade dos profissionais da empresa. A MRDS permite atacar estes dois problemas da seguinte maneira: Custo: a MRDS reduz o tempo gasto no ensino da metodologia devido a sua simplicidade; e Impacto: o foco da MRDS é na utilização dos modelos que são diretamente empregados na geração de código-fonte. Desta maneira, o tempo de modelagem é efetivamente tempo de projeto e (indiretamente) de codificação. De acordo com as constatações em resultados práticos, verificamos que a utilização da MRDS auxiliou na construção de Sistemas de Informação, fornecendo conceitos e vocabulário comuns para o tratamento deste tipo de sistema, apresentando as vantagens esperadas, mas 9

10 não garanti, por si só, o sucesso do desenvolvimento do projeto, ficando este diretamente relacionado à existência e à qualidade do Modelo de Requisitos e à execução do projeto. Embora a arquitetura padrão tenha se mostrado útil para os desenvolvedores, explicando as entidades envolvidas na arquitetura, suas responsabilidades, e os aspectos de comunicação entre elas, encontramos um problema que é o surgimento de entidades que não se adequam a nenhum dos objetos disponíveis na arquitetura padrão, ou que apresentam características mistas, como por exemplo, objetos de interfaces que fazem parte do domínio do problema. O surgimento destas entidades, que fogem à semântica apresentada, mostra que a arquitetura padrão deverá ser acrescida de outras arquiteturas que solucionem tal problema. Exemplos de arquiteturas são mostrados em (Buschman et al., 1996). A MRDS apresentou uma solução para o desenvolvimento de Sistemas de Informação. Esta solução mostrou cumprir os objetivos desejados, e isto foi verificado pelos projetos reais para os quais esta metodologia foi aplicada. Referências Bibliográficas Booch, G. Object-Oriented Analysis and Design with Applications, 2 nd ed. Benjamin Cummings, Redwood City, Calif., Booch, G., Jacobson, I., Rumbaugh, J. The Unified Modeling Language Reference Manual, Addison Wesley Object Technology Series Buschman, F., et al., Pattern-Oriented Software Architecture, A System of Patterns, John Wiley & Sons, Coad, P., Yourdon, E., Object-Oriented Analysis 2 a Edition, Prentice Hall, Inc., Cruz, T., Sistemas de Informações Gerenciais Tecnologia da Informação e a Empresa do Século XXI, Editora Atlas, Garlan et al., Architectural Styles, Design Patterns, and Objects, IEEE Software, pp.43-52, Jan/Fev Ghezzi, C., Jazayeri, M., Mandrioli, D., Fundamentals of Software, Engineering, Prentice Hall, Inc., Gonçalves, J. E. L., As Empresas são Grandes Coleções de Processos, RAE - Revista de Administração de Empresas, Jan/Mar, V.40, n.1, 2000; Jacobson et al., Object-Oriented Software Engineering A Use Case Driven Approach, Addison Wesley, Jacobson, I., Booch, G., Rumbaugh, J, The Unified Software Development Process, 1 a Edition Addison Wesley Object Technology Series Quatrani, T., Visual Modeling with Rational Rose and UML, Addison Wesley, Pressman, R. S., Software Engineering A Practitioner's Approach, 5 a Edition, McGraw-Hill series in computer science, 2001; Rational Software Corporation, Rational Rose 98 Extensibility User Guide, Publications Department, 1998; Rumbaugh et al., Object-Oriented Modeling and Design, Prentice Hall,

11 Rational Software Corporation, Rational Rose 98 Extensibility User Guide, Publications Department, Schmitz, E., Silveira, D., Desenvolvimento de Sistemas Orientado a Objetos, BRASPORT, ISBN X Shaw, M., Garlan, D., Software Architecture, Prentice-hall, 1996; Shlaer, S., Mellor, S., Análise de Sistemas Orientada para Objetos, Makron Books, Silveira, D., FAST CASE: Uma Ferramenta para o Desenvolvimento Visual de Sistemas Orientados a Objetos, Tese de Mestrado, IM/NCE/UFRJ, Stair, R., Princípios de Sistemas de Informação Uma Abordagem Gerencial, Segunda Edição, Editora LTC, 1998; 11

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

Planejamento da disciplina: Modelagem de processos de negócio

Planejamento da disciplina: Modelagem de processos de negócio UNIVERSIDADE FEDERAL DE MINAS GERAIS / INSTITUTO DE CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Planejamento da disciplina: Modelagem de processos de negócio Professor: Clarindo Isaías Pereira

Leia mais

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix.

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix. UNIP Sistemas de Informação Análise Essencial de Sistemas Prof.Marcelo Nogueira Análise Essencial de Sistemas 1 Introdução A produção de Software é uma atividade build and fix. Análise Essencial de Sistemas

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

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

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

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

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

Palavras-Chaves: estoque, modelagem, requisitos, UML, vendas.

Palavras-Chaves: estoque, modelagem, requisitos, UML, vendas. UTILIZAÇÃO DA UML NO DESENVOLVIMENTO DE SISTEMA DE CONTROLE DE VENDAS E ESTOQUE GILBERTO FRANCISCO PACHECO DOS SANTOS Discente da AEMS Faculdades Integradas de Três Lagoas JACKSON LUIZ ARROSTI Discente

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

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

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

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

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

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

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

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

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

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

! Introdução.  Motivação para Processos de Software. ! Processo Unificado (USDP)  Definições  RUP x USDP  Características do Processo Unificado Agenda! Introdução " Motivação para Processos de Software! (USDP) " Definições " RUP x USDP " Características do! Descrição detalhada do! Processos Derivados! Templates simplificados! Conclusões 2 Processo

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

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

Notas de Aula 04: Casos de uso de um sistema

Notas de Aula 04: Casos de uso de um sistema Notas de Aula 04: Casos de uso de um sistema Objetivos da aula: Aprender os elementos básicos da modelagem por casos de uso Utilizar as associações entre casos de uso, atores e demais artefatos Compreender

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

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

18º Congresso de Iniciação Científica UM ESTUDO EXPLORATÓRIO SOBRE TÉCNICAS DE MODELAGEM DE REQUISITOS DE SOFTWARE PARA SISTEMA EMBARCADO

18º Congresso de Iniciação Científica UM ESTUDO EXPLORATÓRIO SOBRE TÉCNICAS DE MODELAGEM DE REQUISITOS DE SOFTWARE PARA SISTEMA EMBARCADO 18º Congresso de Iniciação Científica UM ESTUDO EXPLORATÓRIO SOBRE TÉCNICAS DE MODELAGEM DE REQUISITOS DE SOFTWARE PARA SISTEMA EMBARCADO Autor(es) MARINA CALÇA Orientador(es) LUIZ EDUARDO GALVÃO MARTINS

Leia mais

Casos de Uso O que é. Casos de Uso. Objetivos de um Caso de Uso. Atores. Atores e Casos de Uso. Diagramas de Caso de Uso

Casos de Uso O que é. Casos de Uso. Objetivos de um Caso de Uso. Atores. Atores e Casos de Uso. Diagramas de Caso de Uso Casos de Uso O que é Casos de Uso Descrições narrativas de processos do domínio da aplicação Documentam a seqüência de eventos de um ator (um agente externo) usando o sistema para completar, do início

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 Visão Geral. Índice. Introdução. Diagramas. Modelos e diagramas. Elementos de modelação. Referências

UML Visão Geral. Índice. Introdução. Diagramas. Modelos e diagramas. Elementos de modelação. Referências UML Visão Geral 1 Índice Introdução O que é a UML? Valor da UML Origens da UML Parceiros da UML Modelos e diagramas Elementos de modelação Diagramas Diagrama de casos de utilização Diagrama de classes

Leia mais

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software Ciência da Computação ENGENHARIA DE SOFTWARE Análise dos Requisitos de Software Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Roteiro Introdução Tipos de requisitos Atividades Princípios da

Leia mais

Análise e Projeto Orientados a Objeto

Análise e Projeto Orientados a Objeto Análise e Projeto Orientados a Objeto com UML e Padrões Parte I Análise, Projeto, e Processo Baseado em Craig Larman 1 Aplicando UML, Padrões e APOO Objetivo Desenvolver habilidades práticas na utilização

Leia mais

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada Ciência da Computação ENGENHARIA DE SOFTWARE UML-Unified Modeling Language Linguagem de Modelagem Unificada Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Roteiro Introdução a linguagem UML

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

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

UML Linguagem de Modelagem Unificada

UML Linguagem de Modelagem Unificada Modelagem de Sistemas UML Linguagem de Modelagem Unificada Prof. Mauro Lopes 1-25 Objetivos Nesta aula iremos apresentar os elementos conceituais da Linguagem de Modelagem Unificada (UML). Boa aula a todos.

Leia mais

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho.

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. - DSI DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho. Preocupação: Problema técnicos Mudança na natureza e conteúdo do trabalho

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

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

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Engenharia de Software: Introdução Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Programa 1. O processo de engenharia de software 2. UML 3. O Processo Unificado 1. Captura de requisitos 2.

Leia mais

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004 Introdução ao RUP Rational Unified Process por Denize Terra Pimenta Outubro/2004 1 Contexto Não é suficiente apenas a presença de desenvolvedores altamente treinados: Precisamos de uma linguagem para a

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

Notas de Aula 02: Processos de Desenvolvimento de Software

Notas de Aula 02: Processos de Desenvolvimento de Software Notas de Aula 02: Processos de Desenvolvimento de Software Objetivos da aula: Introduzir os conceitos de um processo de desenvolvimento de software Definir os processos básicos Apresentar as vantagens

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

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet) UML Felipe Denis M. de Oliveira Fonte: Alice e Carlos Rodrigo (Internet) 1 Programação O que é UML? Por quê UML? Benefícios Diagramas Use Case Class State Interaction Sequence Collaboration Activity Physical

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

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

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

Universidade do Estado da Bahia UNEB Departamento de Ciências Exatas e da Terra - Campus I

Universidade do Estado da Bahia UNEB Departamento de Ciências Exatas e da Terra - Campus I Metodologia de Desenvolvimento de Sistemas II/CPD025 Conceitos orientação a objetos. Evolução das técnicas de modelagem orientadas a objetos. Estrutura da linguagem UML. Conceito de processo interativo

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

A PROBLEMÁTICA DO DESENVOLVIMENTO DE SOFTWARE: CRISE OU CALAMIDADE CRÔNICA?

A PROBLEMÁTICA DO DESENVOLVIMENTO DE SOFTWARE: CRISE OU CALAMIDADE CRÔNICA? A PROBLEMÁTICA DO DESENVOLVIMENTO DE SOFTWARE: CRISE OU CALAMIDADE CRÔNICA? ADEMILSON ANGELO CABRAL Discente da AEMS Faculdades Integradas de Três Lagoas DIEGO BEZERRA DA SILVA Discente da AEMS Faculdades

Leia mais

Universidade Federal do ABC Rua Santa Adélia, 166 - Bairro Bangu - Santo André - SP - Brasil CEP 09.210-170 - Telefone/Fax: +55 11 4996-3166

Universidade Federal do ABC Rua Santa Adélia, 166 - Bairro Bangu - Santo André - SP - Brasil CEP 09.210-170 - Telefone/Fax: +55 11 4996-3166 Universidade Federal do ABC Rua Santa Adélia, 166 - Bairro Bangu - Santo André - SP - Brasil CEP 09.210-170 - Telefone/Fax: +55 11 4996-3166 1. CÓDIGO E NOME DA DISCIPLINA BC1508 - ENGENHARIA DE SOFTWARE

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

Engenharia de Software

Engenharia de Software Tema da Aula A Modelagem e os Métodos em Prof. Cristiano R R Portella portella@widesoft.com.br Modelos em Abstração Um modelo é uma abstração de um objeto ou fenômeno sob um determinado ponto de vista

Leia mais

Engenharia de Software Processo de Desenvolvimento de Software

Engenharia de Software Processo de Desenvolvimento de Software Engenharia de Software Processo de Desenvolvimento de Software Prof. Edison A. M. Morais prof@edison.eti.br http://www.edison.eti.br Objetivo (1/1) Conceituar PROCESSO E CICLO DE VIDA, identificar e conceituar

Leia mais

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS RESUMO Este artigo apresenta a especificação de um sistema gerenciador de workflow, o ExPSEE, de acordo com a abordagem de desenvolvimento baseado

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

SISTEMATIZAÇÂO DOS TIPOS DE INFORMAÇÂO DO PLANEJAMENTO ESTRATÉGICO EMPRESARIAL E DE TECNOLOGIA DA INFORMAÇÂO E COMUNICAÇÂO

SISTEMATIZAÇÂO DOS TIPOS DE INFORMAÇÂO DO PLANEJAMENTO ESTRATÉGICO EMPRESARIAL E DE TECNOLOGIA DA INFORMAÇÂO E COMUNICAÇÂO SISTEMATIZAÇÂO DOS TIPOS DE INFORMAÇÂO DO PLANEJAMENTO ESTRATÉGICO EMPRESARIAL E DE TECNOLOGIA DA INFORMAÇÂO E COMUNICAÇÂO Danilo Freitas Silvas Sistemas de informação CEATEC danilofs.ti@gmail.com Resumo:

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

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

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

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo

Leia mais

DOMAIN-DRIVEN DESIGN E TEST-DRIVEN DEVELOPMENT

DOMAIN-DRIVEN DESIGN E TEST-DRIVEN DEVELOPMENT DOMAIN-DRIVEN DESIGN E TEST-DRIVEN DEVELOPMENT Jaqueline Rissá Franco email: jaquerifr@gmail.com Karla Marturelli Mattos Luciano Mathias Doll João Almeida Resumo: Este artigo mostra novas abordagens na

Leia mais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

fagury.com.br. PMBoK 2004

fagury.com.br. PMBoK 2004 Este material é distribuído por Thiago Fagury através de uma licença Creative Commons 2.5. É permitido o uso e atribuição para fim nãocomercial. É vedada a criação de obras derivadas sem comunicação prévia

Leia mais

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo.

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo. UML - Motivação - O que é um modelo? Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo. O que é um modelo? O que é um modelo? O

Leia mais

Universidade Católica de Petrópolis Análise Orientada a Objetos. Introdução

Universidade Católica de Petrópolis Análise Orientada a Objetos. Introdução Universidade Católica de Petrópolis Análise Orientada a Objetos Introdução 1 O que é um software? Modelagem Um conjunto de instruções (programa de computador) que quando executados fornecem funções e desempenho

Leia mais

UML Visão Geral. Slides baseados em material disponibilizado pela Rational e adaptação da tradução de João P. Faria Univ. Do Porto.

UML Visão Geral. Slides baseados em material disponibilizado pela Rational e adaptação da tradução de João P. Faria Univ. Do Porto. UML Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação da tradução de João P. Faria Univ. Do Porto. 1 Índice Introdução Diagramas O que é a UML? Diagrama de casos de uso

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

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

A Disciplina Gerência de Projetos

A Disciplina Gerência de Projetos A Disciplina Gerência de Projetos Atividades, Artefatos e Responsabilidades hermano@cin.ufpe.br Objetivos Apresentar atividades da disciplina Gerência de Projetos Discutir os artefatos e responsáveis envolvidos

Leia mais

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia

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

Uma Abordagem para a Transformação Automática do Modelo de Negócio em Modelo de Requisitos

Uma Abordagem para a Transformação Automática do Modelo de Negócio em Modelo de Requisitos Uma Abordagem para a Transformação Automática do Modelo de Negócio em Modelo de Requisitos Felipe Dias, Gisele Morgado, Pedro Oscar, Denis Silveira, Antonio Juarez Alencar, Priscila Lima, Eber Schmitz

Leia mais

LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE

LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE LEVANTAMENTO DE REQUISITOS SEGUNDO O MÉTODO VOLERE RESUMO Fazer um bom levantamento e especificação de requisitos é algo primordial para quem trabalha com desenvolvimento de sistemas. Esse levantamento

Leia mais

ATENAS: Um Sistema Gerenciador de Regras de Negócio

ATENAS: Um Sistema Gerenciador de Regras de Negócio 1. Introdução ATENAS: Um Sistema Gerenciador de Regras de Negócio Geraldo Zimbrão da Silva (IM/UFRJ) Victor Teixeira de Almeida (COPPE/UFRJ) Jano Moreira de Souza (COPPE/UFRJ) Francisco Gonçalves Pereira

Leia mais

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software Análise e Projeto de Sistemas Análise e Projeto de Sistemas Contextualização ENGENHARIA DE SOFTWARE ANÁLISE E PROJETO DE SISTEMAS ENGENHARIA DA INFORMAÇÃO Perspectiva Histórica Engenharia de Software 1940:

Leia mais

Autor(es) BARBARA STEFANI RANIERI. Orientador(es) LUIZ EDUARDO GALVÃO MARTINS, ANDERSON BELGAMO. Apoio Financeiro PIBIC/CNPQ. 1.

Autor(es) BARBARA STEFANI RANIERI. Orientador(es) LUIZ EDUARDO GALVÃO MARTINS, ANDERSON BELGAMO. Apoio Financeiro PIBIC/CNPQ. 1. 19 Congresso de Iniciação Científica ESPECIFICAÇÃO E IMPLEMENTAÇÃO DE UMA FERRAMENTA AUTOMATIZADA DE APOIO AO GERSE: GUIA DE ELICITAÇÃO DE REQUISITOS PARA SISTEMAS EMBARCADOS Autor(es) BARBARA STEFANI

Leia mais

Uma Abordagem para Especificação de Requisitos para Sistemas de Informações Focada em Modelagem de Processos

Uma Abordagem para Especificação de Requisitos para Sistemas de Informações Focada em Modelagem de Processos Uma Abordagem para Especificação de Requisitos para Sistemas de Informações Focada em Modelagem de Processos Autoria: Denis Silveira, Pedro O. S. Cruz, Eber Schmitz Resumo: Um elemento essencial para o

Leia mais

O Processo Unificado

O Processo Unificado UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA O Processo Unificado 879SCC Projeto e Desenvolvimento de Sistemas

Leia mais

Engenharia de Software 01 - Introdução. Márcio Daniel Puntel marciopuntel@ulbra.edu.br

Engenharia de Software 01 - Introdução. Márcio Daniel Puntel marciopuntel@ulbra.edu.br Engenharia de Software 01 - Introdução Márcio Daniel Puntel marciopuntel@ulbra.edu.br Engenharia de Software Nações desenvolvidas dependem de software; Cada vez mais sistemas são controlados por software;

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

Utilização da modelagem UML em um sistema de gerenciamento de uma franquia do setor de alimentação

Utilização da modelagem UML em um sistema de gerenciamento de uma franquia do setor de alimentação Utilização da modelagem UML em um sistema de gerenciamento de uma franquia do setor de alimentação Use of UML modeling in a management system for a food franchising Richard B. N. Vital, Tatiane M. Vital.

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 de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr Metodologia de Desenvolvimento de Software Prof. M.Sc. Sílvio Bacalá Jr Objetivos Discutir aspectos de Engenharia de Software Aplicar um método de desenvolvimento para especificação e projeto de software

Leia mais

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

UML e a Ferramenta Astah. Profa. Reane Franco Goulart UML e a Ferramenta Astah Profa. Reane Franco Goulart História da UML o Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente. o Alguns esforços nesse

Leia mais

Gestão de Projectos de Software - 1

Gestão de Projectos de Software - 1 Gestão de Projectos de Software Licenciaturas de EI / IG 2012/2013-4º semestre msantos@ispgaya.pt http://paginas.ispgaya.pt/~msantos Gestão de Projectos de Software - 1 Objectivos da Disciplina de Gestão

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

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

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

Guia de Modelagem de Casos de Uso

Guia de Modelagem de Casos de Uso Guia de Modelagem de Casos de Uso Sistema de e-commerce de Ações Versão 1.1 1 Histórico da Revisão. Data Versão Descrição Autor 13 de Setembro de 2008 1.0 Criação do documento Antonio Marques 28 de Setembro

Leia mais

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme

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

Introdução à Engenharia de. Software. Introdução à Engenharia de. Software. O que é a Engenharia de Software? Software

Introdução à Engenharia de. Software. Introdução à Engenharia de. Software. O que é a Engenharia de Software? Software Introdução à Engenharia de Gidevaldo Novais (gidevaldo.vic@ftc.br) Introdução à Engenharia de Objetivo Depois desta aula você terá uma noção geral do que é a engenharia de software e dos seus objetivos

Leia mais

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

Processos de Software. 2007 by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Conceitos de Software Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br Objetivo da aula Depois desta aula você terá uma visão sobre o conceitos

Leia mais

modelagem do negócio (processos e objetos do negócio) modelagem de requisitos alocados ao software modelagem da solução de software

modelagem do negócio (processos e objetos do negócio) modelagem de requisitos alocados ao software modelagem da solução de software POO com UML Java Uso da linguagem UML(Unified Modeling Language) A UML, ou Linguagem de Modelagem Unificada, é a junção das três mais conceituadas linguagens de modelagem orientados a objectos (Booch de

Leia mais

Qualidade na gestão de projeto de desenvolvimento de software

Qualidade na gestão de projeto de desenvolvimento de software Qualidade na gestão de projeto de desenvolvimento de software [...] O que é a Qualidade? A qualidade é uma característica intrínseca e multifacetada de um produto (BASILI, et al, 1991; TAUSWORTHE, 1995).

Leia mais

Objetivos desta Aula. Introdução a Engenharia de Software Capítulo 1. Sumário. Engenharia de Software. Custos do Software. Custos do Software

Objetivos desta Aula. Introdução a Engenharia de Software Capítulo 1. Sumário. Engenharia de Software. Custos do Software. Custos do Software Objetivos desta Aula Introdução a Engenharia de Software Capítulo 1 Introduzir a engenharia de e explicar a sua importância Responder uma série de perguntas sobre engenharia de Introduzir questões éticas

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

Table 1. Dados do trabalho

Table 1. Dados do trabalho Título: Desenvolvimento de geradores de aplicação configuráveis por linguagens de padrões Aluno: Edison Kicho Shimabukuro Junior Orientador: Prof. Dr. Paulo Cesar Masiero Co-Orientadora: Prof a. Dr. Rosana

Leia mais