ESCOLA SUPERIOR ABERTA DO BRASIL - ESAB CURSO DE PÓS-GRADUAÇÃO LATO SENSU EM ENGENHARIA DE SISTEMAS LEILANE FERREIRA RIBEIRO

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

Download "ESCOLA SUPERIOR ABERTA DO BRASIL - ESAB CURSO DE PÓS-GRADUAÇÃO LATO SENSU EM ENGENHARIA DE SISTEMAS LEILANE FERREIRA RIBEIRO"

Transcrição

1 ESCOLA SUPERIOR ABERTA DO BRASIL - ESAB CURSO DE PÓS-GRADUAÇÃO LATO SENSU EM ENGENHARIA DE SISTEMAS LEILANE FERREIRA RIBEIRO MODELAGEM DE SOFTWARE UTILIZANDO UML: ANÁLISE COMPARATIVA ENTRE AS FERRAMENTAS ASTAH UML E UMBRELLO UML MODELLER VILA VELHA (ES) 2012

2 LEILANE FERREIRA RIBEIRO MODELAGEM DE SOFTWARE UTILIZANDO UML: ANÁLISE COMPARATIVA ENTRE AS FERRAMENTAS ASTAH UML E UMBRELLO UML MODELLER Monografia apresentada ao Curso de Pós-Graduação em Engenharia de Sistemas da Escola Superior Aberta do Brasil como requisito para obtenção do título de Especialista em Engenharia de Sistemas, sob orientação do Prof. Me. Jessé Gomes dos Santos VILA VELHA (ES) 2012

3 LEILANE FERREIRA RIBEIRO MODELAGEM DE SOFTWARE UTILIZANDO UML: ANÁLISE COMPARATIVA ENTRE AS FERRAMENTAS ASTAH UML E UMBRELLO UML MODELLER Monografia aprovada em de de Banca Examinadora VILA VELHA (ES) 2012

4 DEDICATÓRIA Dedico este trabalho ao meu noivo, Saulo, por tudo que ele representa pra mim!

5 AGRADECIMENTOS Agradeço a todos aqueles que direta ou indiretamente me ajudaram na concretização desse trabalho.

6 Sucesso é conseguir aquilo que você quer. Felicidade é querer aquilo que você conseguiu. (Autor desconhecido)

7 RESUMO A modelagem é uma das atividades da engenharia de software que proporcionam a implementação de um bom software. Os modelos são uma simplificação da realidade e são construídos para que o sistema que será desenvolvido seja melhor compreendido. Por meio destes modelos múltiplas visões do sistema podem ser obtidas. Por isso, uma linguagem de modelagem, tal como a UML, é essencial para a construção e o entendimento de bons modelos. Esse processo de modelagem de software é normalmente apoiado por ferramentas CASE. Atualmente, existe um grande número destas ferramentas no mercado e é difícil julgar quais delas apóiam melhor a UML. Com base nisto, a finalidade deste trabalho é de facilitar a modelagem de sistemas orientados a objetos usando a linguagem de modelagem UML. Para tanto, foram comparadas as ferramentas CASE de modelagem de software, Astah UML e Umbrello UML Modeller. A análise comparativa apresentada vai permitir que o desenvolvedor faça uma verificação e avaliação das suas principais características, facilitando, desse modo, a sua escolha. Palavras chaves: Modelagem. Ferramenta CASE. UML.

8 LISTA DE QUADROS Quadro 1: Descrição dos critérios utilizados para análise Quadro 2: Comparação de acordo com a documentação Quadro 3: Comparação de acordo com a licença Quadro 4: Comparação de acordo com as plataformas suportadas Quadro 5: Comparação de acordo com os idiomas suportados Quadro 6: Comparação de acordo com a versão da UML Quadro 7: Comparação de acordo com os diagramas da UML Quadro 8: Comparação de acordo com os tipos de arquivos gráficos gerados Quadro 9: Comparação de acordo com a exportação para código fonte Quadro 10: Comparação de acordo com a engenharia reversa Quadro 11: Comparação de acordo com a exportação de dados para o padrão XMI Quadro 12: Recursos adicionais Quadro 13: Quadro geral de comparações entre as características das ferramentas

9 LISTA DE FIGURAS Figura 1: Visões de um sistema de software Figura 2: Os diagramas da UML Figura 3: Diagramas Estruturais da UML Figura 4: Diagramas Comportamentais da UML Figura 5: Ferramenta Astah UML Figura 6: Ferramenta Umbrello UML Modeller

10 LISTA DE SIGLAS CASE CSV EMF EPS GPL HTML IDE IDL JPEG KDE OMT OOSE OMG PNG PPM PHP RTF SVG TCL UML XBM XPM XMI XML XQL XSL Computer-Aided Software Engineering Comma-separated values Metarquivo Avançado PostScript encapsulado General Public License HyperText Markup Language Integrated Development Environment Interactive Data Language Junta Photographic Experts Group K Desktop Environment Object Modeling Technique Object-oriented software engineering Object Management Group Portable network graphics Portable Pixmap Personal Home Page Rich Text Format Scalable Vector Graphics Tool Command Language Unified Modeling Language X BitMap X PixMap XML Metadata Interchange Extensible Markup Language XML Query Language EXtensible Stylesheet Language

11 SUMÁRIO 1 INTRODUÇÃO MODELAGEM DE SISTEMAS DE SOFTWARE A LINGUAGEM DE MODELAGEM UNIFICADA UML DIAGRAMAS DA UML Diagrama de Caso de Uso Diagrama de Classes Diagrama de Objetos Diagrama de Pacotes Diagrama de Componentes Diagrama de Implantação Diagrama de Máquina de Estados Diagrama de Atividades Diagrama de Seqüência Diagrama de Colaboração Diagrama de Temporização Diagrama de Visão Geral da Interação Diagrama de Estrutura Composta FERRAMENTAS DE MODELAGEM DE SOFTWARE ASTAH* UMBRELLO UML MODELLER ANÁLISE COMPARATIVA CRITÉRIOS PARA COMPARAÇÃO APLICAÇÃO DOS CRITÉRIOS Documentação Licença... 44

12 5.2.3 Plataformas suportadas (Portabilidade) Idiomas suportados Especificação da UML suportada Diagramas da UML suportados Exportação para arquivos gráficos Exportação para código fonte Engenharia Reversa Exportação de dados para o padrão XMI Recursos Adicionais RESULTADOS OBTIDOS CONCLUSÕES REFERÊNCIAS... 56

13 13 1 INTRODUÇÃO Exposição do assunto: Para o desenvolvimento de um software apto a satisfazer as necessidades dos seus usuários, que tenha qualidade, através de uma arquitetura sólida que permita modificações, de forma rápida, eficiente e com o mínimo de retrabalho, é necessário o emprego de modelagem (TOSING, 2008). A modelagem é uma das principais atividades que auxiliam na implementação de um bom software. Os modelos são uma simplificação da realidade e são construídos para comunicar a estrutura e o comportamento desejados do sistema, para visualizar e controlar sua arquitetura e compreender melhor o sistema que será desenvolvido. A modelagem de software utiliza vários modelos para projetar um determinado sistema, esses modelos gráficos simbolizam os artefatos de software utilizados e seus inter-relacionamentos. Um modelo é criado para facilitar o entendimento de sistemas complexos. Podem abranger planos detalhados, assim como planos mais gerais com uma visão panorâmica do sistema. Os modelos são construídos para que o sistema que será desenvolvido seja melhor compreendido. Construir o modelo de um sistema não é uma tarefa fácil, vários aspectos devem ser considerados, como a organização da empresa, os processos, as informações existentes, os recursos envolvidos, dentre outros. Por meio dos modelos, é possível obter diversas visões do sistema, dessa forma a complexidade do sistema é dividida facilitando sua compreensão e atuando como meio de comunicação entre os desenvolvedores do projeto. Deste modo, uma linguagem de modelagem padronizada, como a UML, é essencial para construção e entendimento de bons modelos.

14 14 O processo de modelagem de software é geralmente apoiado pelo uso de ferramentas CASE. Uma ferramenta CASE é o nome dado ao software utilizado para apoiar as atividades de processo de software, como a engenharia de requisitos, o projeto, o desenvolvimento de programas e os testes. O uso de software de apoio à modelagem é muito importante por duas razões, uma porque os modelos começarão a ficar tão longos que a folha de papel ficará pequena, e a outra porque é uma ótima maneira de verificar as associações entre os modelos. Para isso é essencial avaliar os benefícios das ferramentas e suas limitações, para que problemas posteriores sejam evitados no processo de desenvolvimento. Neste contexto, o propósito deste trabalho é de facilitar a modelagem de sistemas orientados a objetos usando a linguagem de modelagem UML. Para isso, foram comparadas as ferramentas CASE de modelagem de software, Astah UML e Umbrello UML Modeller. Dessa forma, foi possível demonstrar por meio dos resultados qual ferramenta é mais completa e adequada para cada aspecto comparado. Problema de pesquisa: É possível realizar uma comparação entre as ferramentas de modelagem de software, Astah UML e Umbrello UML Modeller? Justificativa para escolha do tema: Possuir um bom modelo de software é a maneira mais eficiente de comunicação entre os desenvolvedores que trabalham no projeto e os seus clientes. Um bom modelo é extremamente importante para os projetos de software, pois ele dará uma visão geral que permitirá codificar o sistema da maneira certa na primeira vez. O processo de criação de modelos é apoiado por ferramentas de modelagem de software, cujo principal objetivo é separar o projeto da codificação do sistema. Existem várias ferramentas de modelagem, algumas que suportam a UML e outras que apóiam uma metodologia particular que atende a um determinado tipo de projeto.

15 15 Visto que existe um grande número de ferramentas CASE no mercado e que seja necessário conhecer quais delas apóiam melhor a UML, a análise comparativa entre ferramentas oferecida por este trabalho vai permitir que o desenvolvedor faça uma verificação e avaliação das suas principais características, facilitando, desse modo, a sua escolha. Objetivo geral: O objetivo geral deste trabalho é facilitar o processo de modelagem de sistemas utilizando a linguagem de modelagem unificada - UML através de uma analise comparativa das principais características das ferramentas Astah UML e Umbrello UML Modeller, a fim de gerar informações que auxiliem na escolha de uma delas. Objetivos específicos: Pesquisar as características das ferramentas Astah UML e Umbrello UML Modeller. Definir um conjunto de critérios para realizar a comparação entre as ferramentas. Fazer uma análise comparativa entre os dados coletados. Confrontar as informações coletadas a fim de facilitar a escolha da melhor opção para a modelagem de software utilizando UML entre as ferramentas analisadas. Delimitação do trabalho: Devido ao grande número de características presentes nas ferramentas de modelagem de software, Astah UML e Umbrello UML Modeller, fezse necessária a delimitação do escopo da análise comparativa. Visto isso, este trabalho analisa os seguintes aspectos das ferramentas: Documentação. Licença. Plataformas suportadas. Idiomas suportados. Especificação da UML suportada. Diagramas da UML suportados. Exportação para arquivos gráficos. Exportação para código fonte. Engenharia Reversa.

16 16 Exportação de dados para o padrão XMI. Metodologia de pesquisa: Para o desenvolvimento do trabalho foram feitas pesquisas de caráter exploratório e bibliográfico, com objetivos de obter informações suficientes sobre as ferramentas que seriam utilizadas no trabalho. A pesquisa realizada parte do estudo da modelagem de sistemas de software orientados a objetos para fornecer uma análise de ferramentas CASE que auxiliam nesse processo. Este trabalho pode ser definido como uma pesquisa descritiva, pois é fundamentado na observação, apontamento e análise dos dados coletados por meio de levantamento bibliográfico e testes realizados em ferramentas de software. Quanto aos procedimentos, a pesquisa pode ser qualificada como um estudo de caso, pois duas ferramentas de modelagem de software foram escolhidas para realização de testes. Estrutura do trabalho: Este trabalho encontra-se estruturado da seguinte forma: Capítulo 2 Modelagem de Sistemas de Software - Aborda aspectos relacionados à teoria estudada para o desenvolvimento do trabalho. Capítulo 3 A Linguagem de Modelagem Unificada UML - Descreve a linguagem de modelagem unificada e fornece uma visão geral de seus diagramas. Capítulo 4 Ferramentas de Modelagem de Software Faz uma explanação sobre ferramentas CASE e são apresentadas as ferramentas de modelagem ASTAH UML E UMBRELLO UML MODELLER. Capítulo 5 Análise Comparativa - Apresenta a análise comparativa realizada entre as ferramentas de modelagem de software apresentadas no capítulo 4 e os resultados obtidos.

17 17 Capítulo 6 Conclusão - Apresenta as conclusões obtidas ao término do desenvolvimento desse trabalho, bem como possíveis propostas para trabalhos futuros.

18 18 2 MODELAGEM DE SISTEMAS DE SOFTWARE Para o desenvolvimento de qualquer sistema de software é preciso que se faça um planejamento inicial. Essa necessidade nos leva ao conceito de modelo, que pode ser visto como a representação idealizada de um software a ser construído e normalmente revelam apenas as características essenciais de um sistema. De acordo com Blaha e Rumbaugh (2008) um modelo é uma abstração de algo com a finalidade de entendê-lo antes de construí-lo. Com a utilização de modelos os custos do desenvolvimento podem ser reduzidos, já que é menos custoso identificar erros e fazer correções ainda nos modelos de sistema. O gerenciamento da complexidade pode ser simplificado, pois a partir dos modelos os desenvolvedores podem fazer estudos e prever comportamentos do sistema. Além de facilitar também a comunicação entre as pessoas envolvidas na construção do sistema (ANDRADE, 2007). Os modelos de software são construídos para uma visualização do sistema a ser desenvolvido, possibilitando uma melhor compreensão e entendimento e segundo Blaha e Rumbaugh (2008) servem para entender um problema antes de implementá-lo. Podem ser utilizados também para especificação e documentação do software. Quando o modelo é utilizado para especificação fornece uma descrição precisa do que será desenvolvido pelos programadores. A documentação obtida através de modelos precisa refletir o que foi desenvolvido e servirá como base para as atividades de manutenção. De acordo com Booch, Rumbaugh e Jacobson (2006), alguns princípios devem ser seguidos: A escolha do modelo a ser construído tem grande influência em como um problema é atacado e como uma solução é apresentada. Todo modelo pode ser expresso em vários níveis de exatidão. Os melhores modelos estão atrelados à realidade.

19 19 Nenhum modelo único é suficiente. Todo sistema complexo possui uma melhor abordagem através de um conjunto de modelos independentes. De acordo com Bezerra (2007), a modelagem de sistemas de software consiste na utilização de notações gráficas e textuais para construção de modelos para representar as partes essenciais de um sistema, considerando varias perspectivas. Já que, embora um diagrama consiga expressar diversas informações, ainda é preciso adicionar informações na forma de texto para explicar ou definir certas partes do diagrama. Ele também está de acordo com o paradigma de orientação a objetos, que pode diminuir a diferença semântica entre realidade que será modelada e os modelos a serem construídos. De acordo com Alan Kay, um dos pais do paradigma da orientação a objetos, esse paradigma figura um sistema de software como uma coleção de agentes interligados chamados objetos. Cada objeto é responsável por realizar tarefas específicas. E a interação entre diversos objetos é responsável por realizar uma tarefa computacional. Foi no final da década de 1990 que este paradigma atingiu sua maturidade. Nessa década surgiram varias propostas de modelagem utilizando o paradigma da orientação a objetos. E por isso, percebeu-se a necessidade de uma notação de modelagem que pudesse se tornar um padrão para a modelagem de sistemas, sendo aceita e amplamente utilizada (BEZERRA, 2007). Em 1996 surgiu então a UML (Unified Modeling Language), que unificou notações e diagramas já existentes em diferentes técnicas de modelagem e foi aprovada para ser um padrão da indústria de software (ANDRADE, 2007).

20 20 3 A LINGUAGEM DE MODELAGEM UNIFICADA UML UML é a abreviação de Linguagem de Modelagem Unificada (Unified Modeling Language), uma linguagem visual para modelar sistemas que utilizam os conceitos de orientação a objetos (LARMAN, 2007). Segundo Bezerra (2007), a construção da UML teve muitos contribuintes, mas os principais autores do processo foram Grady Booch, James Rumbaugh e Ivar Jacobson. No processo de definição da UML, procurou-se o melhor das características das notações preexistentes, principalmente das técnicas Booch Method, OMT (Object Modeling Technique) e OOSE (Object-Oriented Software Engineering). A UML define uma notação que é uma união de diversas notações preexistentes, removendo alguns elementos e adicionando outros com o objetivo de transformá-la numa notação mais expressiva. A UML foi aprovada pelo OMG (Object Management Group) em 1997 e desde então, tem tido grande aceitação pela comunidade de desenvolvedores de sistemas (ANDRADE, 2007). A UML é uma linguagem visual que define elementos gráficos para modelar sistemas orientados a objetos. Através destes elementos pode se construir diagramas que representem diversas perspectivas de um sistema. A extensibilidade da sintaxe e da semântica dos elementos da UML permite que ela seja adaptada às características específicas de cada projeto (BEZERRA, 2007). Guedes (2007) afirma que a UML é uma linguagem de modelagem, e não uma linguagem de programação, e que o seu objetivo é ajudar os engenheiros de software a estabelecer as características do software, dentre as quais estão seus requisitos, sua estrutura lógica, seu comportamento e a dinâmica de seus processos. E, cumpre destacar que a UML também não é um processo de desenvolvimento de software e não está ligada a nenhum de forma exclusiva, se

21 21 tornando totalmente independente, podendo ser utilizada por muitos processos de desenvolvimento diferentes. Segundo Ramos (2006), a UML é uma linguagem que serve para especificar, construir, visualizar e documentar os artefatos de sistemas de software. Além disso, é independente de linguagens de programação, de ferramentas CASE e dos processos de desenvolvimento. Assim, permite adotar diferentes metodologias mantendo a utilização de uma única linguagem de modelagem. Durante o desenvolvimento de um sistema de software complexo, é necessário que seus desenvolvedores possam analisar e estudar esse sistema a partir de diferentes perspectivas. Os autores da UML sugerem que um sistema seja descrito em cinco visões interdependentes, cada visão enfatizando aspectos diferentes desse sistema (BEZZERA, 2007). A figura 1 mostra essas cinco visões ou perspectivas de um sistema de software. Figura 1: Visões de um sistema de software. Fonte: Bezerra (2007). A visão do caso de uso compreende os casos de uso que descrevem o comportamento do sistema do modo como é visto pelos seus usuários finais, analistas e equipe de teste (ANDRADE, 2007). Essa visão não especifica a organização do sistema de um software, mas sim descreve as funcionalidades que o sistema irá fornecer. Com a UML, os aspectos estáticos dessa visão são descritos em diagramas de caso de uso e os aspectos dinâmicos em diagramas de interação,

22 22 diagramas de estados e diagramas de atividades. Essa visão direciona o desenvolvimento das outras visões do sistema. A visão de projeto descreve como será fornecida a funcionalidade de um sistema. Mostra a estrutura estática e as dinâmicas que ocorrem na aplicação. Essa perspectiva proporciona um suporte para os requisitos funcionais do sistema, ou seja, os serviços que o sistema irá fornecer aos seus usuários finais. Utilizando a UML, os aspectos estáticos dessa visão são capturados em diagramas de classes e de objetos, enquanto os aspectos dinâmicos são capturados em diagramas de interações, de estados e diagramas de atividades (BOOCH; RUMBAUGH; JACOBSON, 2006). A visão de implementação mostra os módulos do sistema e suas dependências. Essa visão envolve o gerenciamento da configuração das versões do sistema, composta por componentes e arquivos de alguma maneira independentes, que podem ser reunidos de diferentes formas para a produção de um sistema executável (ANDRADE, 2007). Com a UML, os aspectos estáticos dessa visão são mostrados em diagramas de interações, de estados e de atividades. A visão de processo dá ênfase às características de concorrência, sincronização e desempenho do sistema. Abrange as threads e os processos que formam os mecanismos de concorrência e de sincronização do sistema. Os aspectos estáticos e dinâmicos dessa visão são descritos pelos mesmos tipos de diagramas da visão de projeto, mas o foco é voltado para as classes ativas que representam threads e processos (BOOCH; RUMBAUGH; JACOBSON, 2006). De acordo com Andrade (2007) a visão de implantação especifica a distribuição física do sistema e os recursos que o sistema ira utilizar. Descreve toda a estrutura onde o sistema é instalado. Essa visão direciona principalmente a distribuição, o fornecimento e a instalação das partes que constituem o sistema físico. Com a UML, os aspectos estáticos dessa visão são descritos em diagramas de implantação e os aspectos dinâmicos são capturados em diagrama de interações, de estados e de atividades.

23 23 Cada uma dessas cinco visões pode ser considerada isoladamente, permitindo que diferentes participantes dirijam seu foco para os aspectos da arquitetura do sistema que mais interessam. Dependendo das características e da complexidade do sistema, nem todas as visões precisam ser desenvolvidas, além disso, podem ser ordenadas por grau de relevância (ANDRADE, 2007). 3.1 DIAGRAMAS DA UML Diagramas são ferramentas gráficas utilizadas para permitir a visualização do sistema sob várias perspectivas. A UML utiliza a notação dos seus diversos diagramas para descrever os vários aspectos da modelagem (ANDRADE, 2007). Com a UML é possível modelar todas as visões de um sistema através dos diversos diagramas fornecidos por ela. Cada representação gráfica tem seu significado e também uma forma de ser utilizada (BEZERRA, 2007). Melo (2011) afirma que na UML 2.0 existem treze tipos de diagramas, que são classificados em diagramas estruturais e diagramas comportamentais. O primeiro mostra as características imutáveis do sistema. Enquanto o segundo mostra as reações do sistema a requisições e sua evolução no tempo. O objetivo de existir esse número de diagramas é fornecer múltiplas visões do sistema a ser modelado, permitindo analisar e modelar sob diversos aspectos, e dessa forma tentar alcançar a completitude da modelagem, permitindo que cada diagrama complemente os outros. Cada diagrama analisa o sistema, ou parte dele, sob uma determinada óptica (GUEDES, 2011). Cada tipo de diagrama da UML captura uma perspectiva diferente do sistema e um determinado elemento pode existir em múltiplos diagramas, apesar de haver apenas uma definição daquele elemento no modelo em questão. De acordo com Guedes

24 24 (2011) a utilização de diversos diagramas permite que falhas sejam descobertas, diminuindo assim a probabilidade da ocorrência de erros futuros. A figura 2 mostra todos os diagramas da UML agrupados de acordo com sua classificação. Figura 2: Os diagramas da UML. Fonte: Bezerra (2007). Nota: Adaptado pelo autor. Os diagramas estruturais tratam o aspecto estrutural do ponto de vista do sistema e das classes. São para visualizar, especificar, construir e documentar os aspectos estáticos de um sistema, ou seja, a representação de seu esqueleto e estruturas estáveis (OMG, 2006). De acordo com Andrade (2007), a função dos diagramas estruturais é mostrar as características do sistema que não mudam ao longo do tempo. Os aspectos estáticos de um sistema de software envolvem a existência e a colocação de itens como classes, interfaces, colaborações, componentes. A figura 3 a seguir, ilustra os diagramas comportamentais da UML.

25 25 Figura 3: Diagramas Estruturais da UML Fonte: Bezerra (2007). Nota: Adaptado pelo autor. Os diagramas de comportamento têm o objetivo de descrever o sistema computacional modelado quando em execução, isto é, uma modelagem dinâmica do sistema. São usados para visualizar, especificar, construir e documentar os aspectos dinâmicos de um sistema que é a representação das partes que são modificadas ao longo da execução, como por exemplo, o fluxo de mensagens ao longo do tempo e a movimentação física de componentes em uma rede (OMG, 2006). Esses diagramas estão ilustrados na figura 4 a seguir. Figura 4: Diagramas Comportamentais da UML. Fonte: Bezerra (2007). Nota: Adaptado pelo autor.

26 26 Nas próximas seções serão apresentadas as definições gerais de cada um dos diagramas apresentados na figura Diagrama de Caso de Uso De acordo com Bezerra (2007) um caso de uso representa uma determinada funcionalidade de um sistema conforme percebida externamente. Representa também os agentes externos que interagem com o sistema. Porém, não revela a estrutura e o comportamento interno do sistema. O diagrama fornece uma visão estática e externa do funcionamento do sistema, seria como se um pessoa o observasse sob uma perspectiva de fora, como se estivesse assistindo seu funcionamento sem participar dele, apenas identificando atores, relacionamentos, tarefas, generalizações e associações entre os elementos do sistema. O diagrama de caso de uso descreve a visão externa do sistema e suas funcionalidades, representando em alto nível de abstração. Não é importante nesse momento compreender como o sistema implementa o caso de uso ou como ocorre o funcionamento interno. O objetivo desse diagrama não é especificar o sistema ou o programa, mas sim o que o software deve atender, e o que o usuário espera dele (ANDRADE, 2007). Esse diagrama oferece uma visão geral do sistema, mas suas descrições reais são feitas através de texto, pois os modelos visuais não são capazes de fornecer toda a informação necessária. A descrição do conteúdo de um caso de uso é feita textualmente e torna-se parte da documentação. Tal documento deve definir os requisitos solicitados pelo cliente e descrever suas funcionalidades. Através de uma descrição detalhada é possível tomar conhecimento dos envolvidos no caso de uso, quais os passos do fluxo principal, as exceções que podem ocorrer e outros casos de uso incluídos no fluxo (HAMILTON; MILES, 2006).

27 27 Guedes (2001) afirma que o diagrama de casos de uso é o diagrama mais geral e informal da UML, sendo utilizado normalmente nas fases de levantamento e análise de requisitos do sistema e podendo servir de base para outros diagramas Diagrama de Classes O diagrama de classes é possivelmente o diagrama mais utilizado e um dos mais importantes da UML. Serve de apoio para a maioria dos demais diagramas (GUEDES, 2011). É um diagrama que mostra um conjunto de classes, interfaces, e colaborações e seus relacionamentos. O diagrama de classes é utilizado na construção do modelo de classes desde o nível de análise até o nível de especificação. Segundo Bezerra (2007), esse é o diagrama da UML mais rico em termos de notação. Um diagrama de classes ilustra as especificações para as classes de software e de interface de uma aplicação. Este diagrama mostra definições para entidades de software, e não conceitos do mundo real (LARMAN, 2007). Produz a descrição mais próxima da estrutura do código de um programa, ou seja, mostra o conjunto de classes com seus atributos e métodos e os relacionamentos entre classes. Classes e relacionamentos constituem os elementos básicos do diagrama de classes (SILVA, 2007) Diagrama de Objetos De acordo com Guedes (2011), o diagrama de objetos está amplamente associado

28 28 ao diagrama de classes. Podendo ser visto como uma instância de tal diagrama, assim como os objetos são instâncias de classes. Tal qual o diagrama de classe, o diagrama de objeto são estruturas estáticas. Bezerra (2007) diz que, um diagrama de objetos exibe uma fotografia do sistema em um determinado momento, exibindo ligações formadas entre objetos conforme interação entre eles e de acordo com valores de atributos Diagrama de Pacotes Em UML, um pacote é o mecanismo de agrupamento. É usualmente utilizado para agrupar classes em unidades de nível mais alto, mas pode também ser aplicado a qualquer elemento do modelo (BOOCH; RUMBAUGH; JACOBSON, 2006). O diagrama de pacotes é um diagrama estrutural e seu objetivo é representar os subsistemas englobados por um sistema de forma a determinar as partes que o compõem (GUEDES, 2011). O termo diagrama de pacotes é utilizado para descrever um diagrama que mostra pacotes de classes e as dependências entre eles. Este diagrama oferece uma visão do sistema como um todo, sob tal perspectiva que se possa observar todos os subsistemas que o compõem. Tem como proposta apresentar a modelagem estrutural do sistema em divisões lógicas e suas interações em alto nível (SILVA, 2007).

29 Diagrama de Componentes Booch, Rumbaugh e Jacobson (2006) narram que um diagrama de componentes mostra a organização e as dependências entre os vários componentes de um sistema. Um componente representa um módulo físico do código. As dependências entre os componentes mostram como mudanças em um componente podem causar mudanças em outros componentes. Este diagrama fornece uma visão modelada entre os módulos do próprio código fonte, bibliotecas e formulários, arquivos de banco de dados e demais arquivos de sistema. Além de determinar como cada um desses elementos estará disposto na organização do sistema e como interagem entre si (GUEDES, 2011) Diagrama de Implantação O diagrama de implantação representa a configuração e a arquitetura do sistema em que estarão ligados os respectivos componentes. Booch, Rumbaugh e Jacobson (2006) dizem que este diagrama exibe a configuração dos nós de processamento em tempo de execução e os componentes que neles existem. Neste diagrama também pode ser representada toda a estrutura de hardware e requisitos mínimos onde o sistema será executado. Ainda na visão de Booch, Rumbaugh e Jacobson (2006) este diagrama modela a visão estática da implantação de um sistema. Dado um determinado sistema de software, o diagrama de implantação vai expressar o conjunto de hardware e toda a tecnologia física relacionada com a instalação do sistema. Os diagramas de implantação também podem ser usados para especificar os módulos do sistema que deverão ser instalados no cliente.

30 Diagrama de Máquina de Estados Os diagramas de máquina de estados, ou diagrama de estados como era chamado em versões anteriores da UML, registram as mudanças sofridas por um objeto em um contexto de um determinado processo. Este diagrama é utilizado para a modelagem dos aspectos dinâmicos de um sistema (BOOCH; RUMBAUGH; JACOBSON, 2006). É uma técnica utilizada para descrever o comportamento de um sistema. Um estado é uma situação na vida de um objeto durante a qual ele satisfaz alguma condição ou realiza alguma atividade. Este diagrama descreve todos os estados possíveis em que um objeto pode estar e como o estado do objeto muda como resultado de eventos que o atingem (BEZERRA, 2007). Guedes (2011) afirma que o diagrama de máquina de estados demonstra o comportamento de um elemento por meio de um conjunto finito de transições de estado, ou seja, uma máquina de estados. Podendo ser utilizado para expressar o comportamento de uma parte do sistema, ou para expressar o protocolo de uso de parte de um sistema Diagrama de Atividades O diagrama de atividades mostra a execução das ações e as transições que são ativadas pela conclusão de outras ações ou atividades. Uma atividade pode ser descrita como um conjunto de ações e um conjunto de atividades (SILVA, 2007). De acordo com Guedes (2011) o diagrama de atividade descreve os passos que serão percorridos para a conclusão de uma atividade específica, podendo esta ser

31 31 representada por um método, um algoritmo, ou por um processo completo. Este diagrama concentra-se na representação do fluxo de controle de uma atividade. Um diagrama de atividades pode ser visto como um tipo especial de diagrama de estados, onde são representados os estados de uma atividade, em vez de um objeto. Ao contrário dos diagramas de estados, que são orientados a eventos, o diagrama de atividade é orientado a fluxos de controle (BEZERRA, 2007) Diagrama de Seqüência Consiste em um diagrama que tem o objetivo de mostrar como as mensagens entre os objetos são trocadas no decorrer do tempo para a realização de uma operação. De acordo com Larman (2007), um diagrama de seqüência é uma figura que mostra os eventos gerados pelos agentes externos, sua ordem e os eventos entre os sistemas, para um cenário especifico de um caso de uso. Guedes (2011) diz que o diagrama de seqüência dá ênfase à ordenação temporal em que as mensagens são trocadas entre os objetos de um sistema. Entende-se por mensagens os serviços solicitados de um objeto a outro, e as respostas desenvolvidas para as solicitações. Permite também a representação de mensagens concorrentes assíncronas (mensagens que são processadas em paralelo sem um tempo definido para a sua realização) Diagrama de Colaboração Guedes (2011) afirma que o diagrama de colaboração era chamado assim até a

32 32 versão 1.5 da UML, tendo seu nome modificado para diagrama de comunicação a partir da versão 2.0. O diagrama de colaboração também tem o objetivo de mostrar as mensagens trocadas entre objetos, a diferença entre o diagrama de seqüência está na ênfase dada as interações entre esses objetos. Enquanto no diagrama de seqüência a ênfase está na ordem temporal das mensagens, o diagrama de colaboração enfatiza os relacionamentos que há entre os objetos que participam do cenário representado (BOOCH; RUMBAUGH; JACOBSON, 2006). O diagrama de colaboração dá ênfase à ordenação estrutural em que as mensagens são trocadas entre os objetos de um sistema. Segundo Bezerra (2007), os diagramas de seqüência e colaboração são equivalentes entre si. É possível transformar um diagrama de colaboração em um diagrama de seqüência equivalente e vice-versa. E Guedes (2011) completa que este diagrama está amplamente associado ao diagrama de seqüência, um complementando o outro Diagrama de Temporização O diagrama de temporização foi incluído a partir da UML 2.0 e apresenta o comportamento dos objetos e sua interação em uma escala de tempo, focalizando as condições que mudam no decorrer desse período. Descreve a interação e a evolução de estados, e consiste em monitorar as restrições temporais do sistema (MELO, 2011). Para Guedes (2011) o diagrama de temporização ou de tempo apresenta a mudança no estado ou condição de uma instância de uma classe ou seu papel

33 33 durante um período. Utilizado para mostrar a mudança no estado de um objeto no tempo em resposta a eventos externos Diagrama de Visão Geral da Interação Este diagrama é uma combinação de diagrama de atividade e diagrama de seqüência. De acordo com Melo (2011) e Guedes (2011) o diagrama de visão geral é uma variação do diagrama de atividades, que ilustra o fluxo de controle geral do sistema ou processo de negócio. Este diagrama permite capturar de uma perspectiva estática os fluxos de interação entre os componentes do sistema, de forma geral, do funcionamento global do sistema, de forma similar ao modelo expresso pelo diagrama de atividades, que mostra o fluxo de um subsistema, ou de uma dada funcionalidade em questão Diagrama de Estrutura Composta Este diagrama mostra a estrutura interna dos elementos da modelagem estrutural, com o objetivo de se obter uma visão detalhada de sua estrutura. É um dos novos diagramas propostos na UML 2.0, voltado a detalhar elementos de modelagem estrutural, como classes, pacotes e componentes, descrevendo sua estrutura interna. Na visão de Guedes (2011), este diagrama pode ser utilizado para descrever uma colaboração em que um conjunto de instâncias colaboram entre si para realizar uma tarefa. Para Melo (2011) este diagrama visa mostrar a composição de estruturas complexas ou projetos de componentes, simplificando o relacionamento de composição. Deste modo um diagrama de classes será exibido dentro de uma

34 34 classe, contendo a classe-todo com suas classes-partes ligadas através de conectores.

35 35 4 FERRAMENTAS DE MODELAGEM DE SOFTWARE Ferramenta CASE (Computer-Aided Software Engineering ou Engenharia de Software Auxiliada por Computador) é o nome dado ao software utilizado para apoiar as atividades de processo de software, como a engenharia de requisitos, o projeto, o desenvolvimento de programas e os testes (GUEDES, 2011). Estas ferramentas armazenam as informações de uma forma própria, como textos, imagens, gráficos, possibilitando a integração com o usuário. Segundo Silva e Videira (2008) uma ferramenta CASE não é mais do que um produto informático destinado a suportar uma ou mais atividades de engenharia de software, relacionadas com uma ou mais metodologias de desenvolvimento. Sommerville (2011), diz que são sistemas de software que têm a intenção de fornecer apoio automatizado para atividades do processo de desenvolvimento de um software. Embora não exista um padrão definido para categorização das ferramentas CASE, Manhani e Schimiguel (2010) afirmam que elas podem ser divididas em 3 tipos: Upper CASE - ferramentas especializadas na fase de concepção do software, ou seja, ferramentas de análise e especificação e/ou modelação de requisitos. Lower CASE - utilizadas na fase de implementação, ferramentas de desenho técnico, de edição e compilação de código e de testes. I-CASES ou Integrated Cases - simultaneamente Lower e Upper CASE, funcionando integradamente, são ferramentas que cobrem todo o ciclo de vida do software, desde os requisitos do sistema até o controle final da qualidade. A introdução dos conceitos da orientação a objetos veio de alguma forma revolucionar o mercado das ferramentas CASE, quer porque uma parte das ferramentas tradicionais teve que se "reinventar" e incorporar novas técnicas de modelagem integradas com as abordagens estruturadas já existentes ou porque

36 36 surgiram no mercado novas ferramentas que suportam exclusivamente este paradigma (SILVA; VIDEIRA, 2008). Neste contexto, assume particular destaque a UML, que vem assumindo um papel crescente ao nível das notações de modelagem. Hoje em dia, praticamente todas as ferramentas que estão no mercado de uma forma mais significativa incorporam algum suporte para a UML. A maioria das ferramentas CASE especializa-se, sobretudo numa tarefa específica do processo de desenvolvimento de software. Algumas se concentram na disponibilização de funcionalidades relevantes para a fase de concepção como a elaboração de diversos diagramas, enquanto outras estão particularmente direcionadas para a fase de implementação, desenvolvimento visual, geração de código ou apoio à realização de testes (SILVA; VIDEIRA, 2008). De acordo com Martins (2010), é na fase de projeto do desenvolvimento de um sistema que ocorre a descrição precisa de como deverá ser o software e seu funcionamento. O modelo especificado deve ser claramente definido, de modo que o sistema evite passar por correções no decorrer de seu desenvolvimento. Várias técnicas podem ser usadas para auxiliar nesta tarefa, em especial o uso da UML. A UML padroniza diagramas, permitindo uma melhor visualização geral do projeto e da comunicação entre os objetos. Assim, antes mesmo de começar efetivamente a programação, pode-se ver se a esquematização do sistema está correta e de acordo com o que foi levantado previamente na análise de requisitos (MARTINS, 2010). Neste contexto, este trabalho apresentará as ferramentas Astah* e Umbrello UML Modeller, que são ferramentas CASE de apoio à criação de diagramas para projetos de software, como diagramas de classe, de casos de uso, entre outros.

37 ASTAH* Astah* é uma ferramenta CASE que visa auxiliar o processo de modelagem de um sistema, é um editor de diagramas UML que incorpora outros recursos de acordo com a distribuição utilizada. É sucessora do JUDE, ferramenta que foi descontinuada em E assim como o Jude, esta ferramenta possui versões Community e Professional. Com o Astah* é possível realizar uma modelagem de dados complexa. É uma IDE criada com Java e de uso fácil, apresenta os dados para o usuário de forma clara e ainda possuí a vantagem de seu layout ser bem intuitivo. É possível trabalhar com vários diagramas e depois de feita toda a modelagem exportar tudo para um arquivo Java, HTML ou exportar cada diagrama em forma de imagem. O Astah* é utilizado para fazer modelos UML dos artefatos desenvolvidos no decorrer do desenvolvimento do projeto. Essa ferramenta possui uma versão gratuita, a ASTAH Community, e está disponível comercialmente em três versões distintas, ASTAH UML, ASTAH Professional e ASTAH SHARE, com suas determinadas funções e especialidades definidas cujas diferenças se situam ao nível das funcionalidades disponibilizadas. Existe ainda a distribuição Astah UML Pad que é uma versão gratuita para ser utilizada em ipad s. Para a realização deste trabalho foi utilizada a versão da distribuição Astah UML, pois esta é uma versão específica para trabalhar com os diagramas da UML. A figura 5 exibe a tela inicial da ferramenta Astah UML.

38 38 Figura 5: Tela inicial da ferramenta Astah UML. Fonte: Ferramenta Astah UML (2012). 4.2 UMBRELLO UML MODELLER O Umbrello UML Modeller é uma ferramenta de modelagem UML, e como tal seu principal propósito é auxiliá-lo na análise e desenho de seus sistemas. Especialmente durante as fases de análise e desenho, essa ferramenta auxilia a obter um produto de alta qualidade. Auxilia o processo de desenvolvimento de software através do uso do padrão industrial da Linguagem de Modelagem Unificada (UML), permite criar diagramas para o desenvolvimento e documentação de sistemas. Apesar de não implementar a UML 2.0, essa ferramenta possui um excelente manual que além de auxiliar na sua utilização, ensina muito sobre a UML.

39 39 Faz parte do projeto KDE e seu desenvolvimento foi iniciado por Paul Hensgen como um de seus projetos Universitários. O nome original do aplicativo era Modelador UML. Paul fez todo o desenvolvimento até o final de 2001 quando o programa atingiu sua versão 1.0. Essa versão já oferecia muitas funcionalidades, mas após o projeto ter sido revisado pela Universidade, outros desenvolvedores puderam juntar-se e iniciaram fazendo contribuições importantes para o Modelador UML. Paul retirou-se da equipe de desenvolvimento em 2002, mas como um Software Livre e de Código Aberto, o programa continua a melhorar e evoluir, e está sendo mantido por um grupo de desenvolvedores de diferentes partes do mundo. Em Setembro de 2002, o projeto mudou seu nome de Modelador UML, para Umbrello UML Modeller. O desenvolvimento do Umbrello UML Modeller assim como as discussões sobre para onde o programa deve progredir nas versões futuras é aberto e ocorre na Internet. Para a análise feita neste trabalho foi utilizada a versão do Umbrello UML Modeller. Na figura 6 é possível visualizar a tela inicial desta ferramenta.

40 Figura 6: Tela inicial da ferramenta Umbrello UML Modeller. Fonte: Ferramenta Umbrello UML Modeller (2012). 40

41 41 5 ANÁLISE COMPARATIVA Apresentam-se neste capítulo, os critérios selecionados para comparação, as comparações realizadas e os resultados obtidos. 5.1 CRITÉRIOS PARA COMPARAÇÃO Para comparar as ferramentas analisadas neste trabalho foi preciso definir quais critérios seriam utilizados. A definição dos critérios foi feita tendo por base uma pesquisa bibliográfica sobre o tema. Os critérios selecionados para análise foram: 1. Documentação 2. Licença 3. Plataformas suportadas 4. Idiomas suportados 5. Especificação da UML suportada 6. Diagramas da UML suportados 7. Exportação para arquivos gráficos 8. Exportação para código fonte 9. Engenharia Reversa 10. Exportação de dados para o padrão XMI O quadro 1 fornece a descrição para cada um dos critérios utilizados neste trabalho.

42 42 CRITÉRIOS NOME DESCRIÇÃO Documentação Licença Plataformas suportadas (Portabilidade) Idiomas suportados Especificação da UML suportada Diagramas da UML suportados Exportação para arquivos gráficos Exportação para código fonte Engenharia Reversa Pesquisa feita nos sites das ferramentas sobre a documentação existente. Verificar quais são as licenças de uso de software utilizadas pelas ferramentas. Verificar em quais plataformas as ferramentas podem ser utilizadas. Verificação de quais idiomas cada ferramenta oferece. Identificar qual a versão da UML que as ferramentas escolhidas dão suporte. Verificar quais são os diagramas da UML suportados por cada ferramenta. Verificar se a ferramenta oferece exportação dos diagramas para arquivos de imagem. Verificar se o usuário poderá gerar código fonte para a aplicação que está sendo desenvolvida. Verificação se a ferramenta oferece suporte à engenharia reversa. Exportação de dados para o padrão XMI Quadro 1: Descrição dos critérios utilizados para análise. Fonte: Elaboração Própria (2012). Verificar se a ferramenta oferece exportação de dados para o padrão XMI. A partir das respostas aos critérios listados no quadro 1 é possível contrapor as soluções propostas pelas ferramentas a fim de se determinar qual delas é a melhor opção para ser utilizada observando cada aspecto analisado. 5.2 APLICAÇÃO DOS CRITÉRIOS A análise comparativa das ferramentas para modelagem de software utilizando UML, Astah UML e Umbrello UML Modeller, foi feita com base nos critérios de comparação descritos no quadro 1 no tópico anterior.

43 43 Neste tópico serão relatadas as comparações das ferramentas de acordo com os critérios estabelecidos Documentação O objetivo deste critério é verificar se existe uma preocupação quanto à documentação do software e como a mesma é disponibilizada. A documentação de um software tem o objetivo de divulgar e deixar claro o que faz o sistema, como utilizá-lo, as suas vantagens, operação e requisitos para funcionamento além de orientar o usuário na operação do software. A qualidade da documentação pode ser baseada em três características fundamentais: completeza, precisão e clareza. A completeza garante que nenhuma informação que dificulte a compreensão do usuário estará faltando. Para uma documentação precisa, é necessário que esta seja revisada por no mínimo duas pessoas. E o seu conteúdo deve ser de fácil identificação, localização e organização. Além de ser completo e conciso, garantindo sua clareza. Pode-se afirmar que uma documentação terá qualidade quando estiver adequada ao usuário que avalia e relata sua satisfação. As duas ferramentas analisadas possuem boa documentação disponível no site. O Astah UML possui um fórum ativo no site, no entanto sua documentação e tutoriais só estão disponíveis em inglês. Podem ser encontrados no site O manual de uso do Umbrello UML Modeller é bastante completo e oferecendo além da explicação de utilização da ferramenta, uma visão geral da UML. Está disponível no site

44 44 CRITÉRIO ASTAH UML UMBRELLO UML MODELLER Documentação Possui boa documentação, porém em inglês. Quadro 2: Comparação de acordo com a documentação. Fonte: Dados da Pesquisa (2012). Possui excelente documentação Licença Uma licença de software é uma definição de ações autorizadas ou proibidas na esfera do direito de autor de um programador de software de computador concedidas ou impostas aos usuários deste software. A ferramenta Astah* possui diversas distribuições, uma versão gratuita e outras distribuições que são pagas. Para o desenvolvimento deste trabalho foi utilizada a distribuição Astah UML, que é uma versão paga, cuja licença por um ano custa $50,00 por computador pessoal. A ferramenta Umbrello UML Modeller faz parte do projeto KDE e é liberada sob a licença GPL - General Public Licence, que é a designação da licença para software livre. Em termos gerais, a GPL baseia-se em quatro liberdades: 1. A liberdade de executar o programa para qualquer propósito. 2. A liberdade de estudar como o programa funciona e adaptá-lo para as suas necessidades. 3. A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo. 4. A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie deles.

45 45 Com a garantia destas liberdades, a GPL permite que os programas sejam distribuídos e reaproveitados, mantendo, porém, os direitos do autor por forma a não permitir que essa informação seja usada de uma maneira que limite as liberdades originais. A licença não permite, por exemplo, que o código seja apoderado por outra pessoa, ou que sejam impostos sobre ele restrições que impeçam que seja distribuído da mesma maneira que foi adquirido. CRITÉRIO ASTAH UML UMBRELLO UML MODELLER Licença 1 ano / 1 PC = $50,00 GNU General Public Licence Quadro 3: Comparação de acordo com a licença. Fonte: Dados da Pesquisa (2012) Plataformas suportadas (Portabilidade) Uma plataforma é o padrão de um processo operacional ou de um computador. É uma expressão utilizada para denominar a tecnologia empregada em determinada infra-estrutura de Tecnologia da Informação, garantindo facilidade de integração dos diversos elementos dessa infra-estrutura. A portabilidade de um programa de computador é a sua capacidade de ser compilado ou executado em diferentes arquiteturas (seja de hardware ou de software). O objetivo deste critério é identificar para quais sistemas operacionais as ferramentas estão disponíveis. A ferramenta Astah UML pode ser utilizada nos sistemas operacionais Windows, Mac OS X e Linux. Já a ferramenta Umbrello UML Modeller está disponível para as plataformas GNU/Linux, FreeBSD e Solaris.

46 46 CRITÉRIO ASTAH UML UMBRELLO UML MODELLER Plataformas suportadas (Portabilidade) Windows, Mac OS X e Linux Quadro 4: Comparação de acordo com as plataformas suportadas. Fonte: Dados da Pesquisa (2012). GNU/Linux, FreeBSD e Solaris Idiomas suportados A ferramenta Astah UML suporta dois idiomas: inglês e japonês. E a Umbrello UML Modeller está disponível para os idiomas: Chinês (Tradicional), Inglês, Português (Brasil e Portugal) e Espanhol. CRITÉRIO ASTAH UML UMBRELLO UML MODELLER Idiomas suportados Inglês e japonês Quadro 5: Comparação de acordo com os idiomas suportados. Fonte: Dados da Pesquisa (2012). Chinês (Tradicional), Inglês, Português (Brasil e Portugal) e Espanhol Especificação da UML suportada O Astah UML suporta todas as funcionalidades da UML 1.4 e muitos dos recursos da UML 2.0. As notações podem ser alternadas entre UML 1.4 e 2.0 nas configurações da ferramenta. Umbrello UML Modeller atende a especificação da UML 1.* e não implementa a UML 2.0.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

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

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

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1. Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever

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

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

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

Análise e Projeto de Sistemas de Informação. Andrêza Leite andreza.lba@gmail.com

Análise e Projeto de Sistemas de Informação. Andrêza Leite andreza.lba@gmail.com Análise e Projeto de Sistemas de Informação Andrêza Leite andreza.lba@gmail.com Roteiro Sistemas de Informação Ciclo de Desenvolvimento de SI Projeto Análise Estruturada Análise Orientada a Objetos Como

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

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

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

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

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

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

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

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br Análise de Sistemas Visão Geral: Orientação a Objetos Prof. José Honorato Ferreira Nunes Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br Resumo: VISÃO GERAL: Modelagem de sistemas

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

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

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

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

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

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

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

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

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

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

Leia mais

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

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

Processos de Desenvolvimento de Software

Processos de Desenvolvimento de Software Processos de Desenvolvimento de Software Gerenciamento de Projetos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e

Leia mais

Gerenciamento de Problemas

Gerenciamento de Problemas Gerenciamento de Problemas O processo de Gerenciamento de Problemas se concentra em encontrar os erros conhecidos da infra-estrutura de TI. Tudo que é realizado neste processo está voltado a: Encontrar

Leia mais

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis

Leia mais

Faculdade Pitágoras. Engenharia de Software. Prof.: Julio Cesar da Silva. juliocesar@tecnocracia.eti.br. Http://e-academy.com.br

Faculdade Pitágoras. Engenharia de Software. Prof.: Julio Cesar da Silva. juliocesar@tecnocracia.eti.br. Http://e-academy.com.br Faculdade Pitágoras Engenharia de Software Prof.: Julio Cesar da Silva juliocesar@tecnocracia.eti.br Http://e-academy.com.br Evolução do Software (1950 1965) - O hardware sofreu contínuas mudanças - O

Leia mais

GARANTIA DA QUALIDADE DE SOFTWARE

GARANTIA DA QUALIDADE DE SOFTWARE GARANTIA DA QUALIDADE DE SOFTWARE Fonte: http://www.testexpert.com.br/?q=node/669 1 GARANTIA DA QUALIDADE DE SOFTWARE Segundo a NBR ISO 9000:2005, qualidade é o grau no qual um conjunto de características

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

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

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

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

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

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

MODELAGEM DE CASOS DE USO PARA UM SISTEMA DE CLÍNICA VETERINÁRIA

MODELAGEM DE CASOS DE USO PARA UM SISTEMA DE CLÍNICA VETERINÁRIA UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE TECNOLOGIA FACULDADE DE ENGENHARIA DA COMPUTAÇÃO ADAM DREYTON FERREIRA DOS SANTOS CARLOS ROGÉRIO CAMPOS ANSELMO FELIPE BATISTA CABRAL FRANK GOMES DE AZEVEDO NAGIB

Leia mais

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo

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

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo Bezerra. Editora Campus/Elsevier Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES

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

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.

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

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

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

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

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

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

Leia mais

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

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Pós-Graduação em Gerenciamento de Projetos práticas do PMI Pós-Graduação em Gerenciamento de Projetos práticas do PMI Planejamento do Gerenciamento das Comunicações (10) e das Partes Interessadas (13) PLANEJAMENTO 2 PLANEJAMENTO Sem 1 Sem 2 Sem 3 Sem 4 Sem 5 ABRIL

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

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

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 Eduardo Laguna Rubai, Tiago Piperno Bonetti Universidade Paranaense (Unipar) Paranavaí PR- Brasil eduardorubay@gmail.com, bonetti@unipar.br Resumo.

Leia mais

A história de UML e seus diagramas

A história de UML e seus diagramas A história de UML e seus diagramas Thânia Clair de Souza Vargas Departamento de Informática e Estatística Universidade Federal de Santa Catarina (UFSC) Florianópolis, SC Brazil thania@inf.ufsc.br Abstract.

Leia mais

GereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios

GereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática 3ºAno Disciplina de Desenvolvimento de Sistemas de Software Ano Lectivo de 2009/2010 GereComSaber Sistema de

Leia mais

Artur Petean Bove Júnior Tecnologia SJC

Artur Petean Bove Júnior Tecnologia SJC Artur Petean Bove Júnior Tecnologia SJC Objetivo O objetivo do projeto é especificar o desenvolvimento de um software livre com a finalidade de automatizar a criação de WEBSITES através do armazenamento

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

APOO Análise e Projeto Orientado a Objetos. Requisitos

APOO Análise e Projeto Orientado a Objetos. Requisitos + APOO Análise e Projeto Orientado a Objetos Requisitos Requisitos 2 n Segundo Larman: n São capacidades e condições às quais o sistema e em termos mais amplos, o projeto deve atender n Não são apenas

Leia mais

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. 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 Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

ATIVIDADES PRÁTICAS SUPERVISIONADAS

ATIVIDADES PRÁTICAS SUPERVISIONADAS ATIVIDADES PRÁTICAS SUPERVISIONADAS Tecnologia em Análise e Desenvolvimento de Sistemas 3ª Série Fundamentos de Análise Orientada a Objetos A atividade prática supervisionada (ATPS) é um método de ensinoaprendizagem

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

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com Engenharia de Software: conceitos e aplicações Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com 1 Objetivos da aula Apresentar os conceitos de Engenharia de Software e explicar a sua importância.

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

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 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

CENTRAL DE SERVIÇOS APOIADA EM SOFTWARE LIVRE

CENTRAL DE SERVIÇOS APOIADA EM SOFTWARE LIVRE CENTRAL DE SERVIÇOS APOIADA EM SOFTWARE LIVRE Juliano Flores Prof. Wagner Walter Lehmann Centro Universitário Leonardo da Vinci - UNIASSELVI Gestão de Tecnologia da Informação (GTI0034) Prática do Módulo

Leia mais