Engenharia de Software

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

Download "Engenharia de Software"

Transcrição

1 Prof. M.Sc. Ronaldo C. de Oliveira FACOM

2 UML Linguagem Unificada de Modelagem Projeto de Software

3 Introdução O que é projeto em software? O termo projeto é um tanto ambíguo. Conjunto de modelos relacionados a um artefato (design). Proposta formal para um artefato (project). Ambos os significados têm sentido no contexto de software. Ronaldo C. Oliveira 3

4 Introdução O que é projeto em software? O projeto é a fase em que o engenheiro de software modela computacionalmente os RFs e RNFs. É a fase em que o engenheiro organiza o sistema em subsistemas para melhor atacar o problema. Ronaldo C. Oliveira 4

5 Introdução O que é projeto em software? É a fase em que o engenheiro expressa o como fazer. O projeto compreende um conjunto de atividades que precede as atividades de geração de código e testes. Ronaldo C. Oliveira 5

6 Introdução O que é projeto em software? O projeto envolve modelos sobre Modelo de Dados, Arquitetura, Protótipos de Interfaces, Componentes, Distribuição. Projeto de Algoritmos Ronaldo C. Oliveira 6

7 Modelo de Dados Influencia atributos como tempo de resposta e robustez. Permeia diferentes níveis Estrutura de dados de componentes Bases de Dados (a partir do DER) Armazém de Dados (facilita a mineração de dados) Ronaldo C. Oliveira 7

8 Modelo de Arquitetura Representa a estrutura do software e o relacionamento entre seus elementos. A arquitetura de um software é baseada na informação sobre o domínio da aplicação, na modelagem da estrutura do sistema (Diagrama de Classes), em padrões arquiteturais. Ronaldo C. Oliveira 8

9 Modelo de Interfaces Modela como os dados transitando intra-sistema e inter-sistema. Esse modelo contempla interface com o usuário, interfaces internas (componentes do sistema), interfaces externas (outros sistemas, rede, dispositivos). Ronaldo C. Oliveira 9

10 Modelo de Componentes Descreve detalhes internos dos componentes do software. Representa a interação entre os componentes. Example by U.Ottawa SEG 4210: Advanced Software Design and Reengineering Ronaldo C. Oliveira 10

11 Modelo de Distribuição Representa como os subsistemas / funcionalidades do software serão alocados no ambiente físico. Example by U.Ottawa SEG 4210: Advanced Software Design and Reengineering Ronaldo C. Oliveira 11

12 Projeto de Algoritmos Dependendo da necessidade do sistema o analista pode especificar um determinado algoritmo que ele quer o desenvolvedor utilize: Exemplo: algoritmo de calculo e validação do número de CPF e o número de CNPJ Ronaldo C. Oliveira 12

13 Qualidade de um bom Projeto

14 Projeto em Software Os modelos apresentados englobam a fase de projeto. Essa fase determina a qualidade do software. Atendimento dos RNFs. Ronaldo C. Oliveira 14

15 Qualidade em Software Qualidade está relacionada a atributos: funcionalidade, usabilidade, confiabilidade, desempenho, generalidade. Ronaldo C. Oliveira 15

16 Qualidade em Software Funcionalidade Atendimento dos RFs Atendimentos dos RNFs Usabilidade Utilização, Estética Mensagens de erro Auxílio Ronaldo C. Oliveira 16

17 Qualidade em Software Confiabilidade Consistência de resultados Segurança e Proteção Recuperação de falhas Desempenho Consumo de recursos Tempo de resposta Ronaldo C. Oliveira 17

18 Qualidade em Software Generalidade Extensibilidade Reparabilidade Adaptabilidade Configurabilidade Ronaldo C. Oliveira 18

19 Qualidade em Software A qualidade em software está relacionada à boa aplicação (boas práticas) de conceitos bem conhecidos em. Alguns desses conceitos são apresentados a seguir. Ronaldo C. Oliveira 19

20 Conceitos Aplicados ao Projeto Abstração Arquitetura Esqueleto do software Independência Funcional Ocultamento de informação Ronaldo C. Oliveira 20

21 Conceitos Aplicados ao Projeto Independência Funcional Conceito relacionado à interdependência dos módulos (programas) de um sistema. Boa decisão de projeto: módulos independentes. Por quê?! Ronaldo C. Oliveira 21

22 Conceitos Aplicados ao Projeto Independência Funcional Facilidades entendimento implementação reutilização teste modificação detecção de falha rastreamento Ronaldo C. Oliveira 22

23 Conceitos Aplicados ao Projeto Independência Funcional Relacionada com Coesão o quanto um determinado módulo ou método executa somente o objetivo previsto para aquele módulo ou método, ou seja, tem um papel bem definido e coerente dentro do sistema. Acoplamento o quanto um determinado módulo ou método é independente de outros módulos ou métodos. Ronaldo C. Oliveira 23

24 Conceitos Aplicados ao Projeto Independência Funcional: coesão Trata da coerência entre as atividades realizadas por uma módulo. Tipos: Funcional Sequencial Comunicação Procedural Temporal Lógica Coincidente Ronaldo C. Oliveira 24

25 Conceitos Aplicados ao Projeto Independência Funcional: Acoplamento Está relacionado com o grau de interdependência de um módulo em outro. Tipos: Conteúdo Comum Controle Dados Sem acoplamento Ronaldo C. Oliveira 25

26 Conceitos Aplicados ao Projeto Coesão + Acoplamento Qualidade de Software Ronaldo C. Oliveira 26

27 Conceitos Aplicados ao Projeto Refatoração/refabricação Padrões Arquitetura Design Idiomas Ronaldo C. Oliveira 27

28 Refatoração Técnica de reorganização que simplifica o projeto (ou código) de um componente sem mudar nada sua função ou comportamento Quando um software é refatorado, o projeto existente é examinado em termos de redundância, elementos de projetos não utilizados, algoritmos ineficientes, estruturas de dados mal construídas ou qualquer outra falha no projeto O resultado será um software mais fácil de integrar, testar e manter. Ronaldo C. Oliveira 28

29 Padrões de Arquitetura Softwares de mesmo domínio de aplicação guardam similaridades quanto à organização de seus módulos. Essa similaridade é denominada padrões de arquitetura. Ronaldo C. Oliveira 29

30 Padrões de Arquitetura Repositório Uma base de dados é utilizada para centralizar os dados da aplicação. Todos os componentes acessam a BD para realizar suas atividades. Ronaldo C. Oliveira 30

31 Padrões de Arquitetura Repositório Facilidades Compartilhamento de dados simples. Modelo de dados único. Independência entre os subsistemas do sistema quanto aos dados. Funções de segurança, proteção em único lugar. Ronaldo C. Oliveira 31

32 Padrões de Arquitetura Repositório Dificuldades Os subsistemas podem ter diferentes necessidades quanto ao modelo de dados. O desempenho pode ser afetado pelo modelo dados único. A evolução de um subsitema demanda análise de impacto nos demais. Os subsistemas podem ter necessidades diferentes quanto a segurança e proteção. Ronaldo C. Oliveira 32

33 Padrões de Arquitetura Repositório Variante Cada subsistema possui seu próprio repositório. Os subsistemas trocam mensagens entre si. Ronaldo C. Oliveira 33

34 Padrões de Arquitetura Cliente-Servidor A aplicação é organizada entre provedores (servidores) e consumidores (clientes) de serviços. Em geral, uma rede é utilizada como meio de comunicação. Ronaldo C. Oliveira 34

35 Padrões de Arquitetura: Cliente-Servidor Ronaldo C. Oliveira 35

36 Padrões de Arquitetura Cliente-Servidor Facilidades Distribuição Escalabilidade Evolução independente Ronaldo C. Oliveira 36

37 Padrões de Arquitetura Cliente-Servidor Dificuldades Complexidade de implementação Proteção Gerenciamento Desempenho dependente da carga da rede Ronaldo C. Oliveira 37

38 Padrões de Arquitetura Camadas A aplicação é organizada em diferentes camadas. Cada camada (também conhecida como máquina abstrata oferece serviços para as camadas adjacentes. Ronaldo C. Oliveira 38

39 Padrões de Arquitetura Camadas Facilidades Apoio ao desenvolvimento incremental/evolucionário Evolução Portabilidade Ronaldo C. Oliveira 39

40 Padrões de Arquitetura Camadas Dificuldades Estruturação rígida da aplicação uma camada pode oferecer serviços não utilizado por TODAS as camadas superiores. Desempenho Ronaldo C. Oliveira 40

41 Padrões de Arquitetura Referência Descreve a organização de classes de domínio de aplicação. Representa as características que a aplicação deveria possuir. Serve como gabarito para discussão sobre a arquitetura da aplicação. Ronaldo C. Oliveira 41

42 Padrões de Design Decomposição Modular Consiste em organizar os elementos (módulos) que compõem os subsistemas. Duas abordagens: orientada a objetos pipelining Ronaldo C. Oliveira 42

43 Padrões de Design Modelos de Controle Representa o fluxo de controle entre os elementos (subsistemas/módulos) da aplicação. Isto é, modela o acionamento dos subsistemas/módulos da aplicação. Duas abordagens: centralizado eventos Ronaldo C. Oliveira 43

44 Padrões de Design Modelo de Controle Centralizado Um elemento é o responsável por gerenciar a execução dos demais. Eventos baseados em valores de variáveis internas. Ronaldo C. Oliveira 44

45 Padrões de Design Modelo de Controle Centralizado Duas abordagens: Chamada-Retorno acionamento explícito sem preempção Gerente acionamento baseado em varredura com preempção Ronaldo C. Oliveira 45

46 Padrões de Design Modelo de Controle Baseado em Eventos O acionamento dos elementos da aplicação é baseado em eventos externos. Exemplos: clique do mouse; gatilho (vide SGBD); objetos ativos. Ronaldo C. Oliveira 46

47 Padrões de Design Modelo de Controle Baseado em Eventos Duas abordagens: Broadcast executado por um comando emitido pelo usuário Interrupção executa automaticamente através de um processo interno do sistema Ronaldo C. Oliveira 47

48 Padrões de Idioma Qual o padrão de codificação a ser utilizado? nomes (variáveis, funções) identação escrita Como documentar o código? variáveis funções Geração automática de documentação Ronaldo C. Oliveira 48

CONCEITOS BÁSICOS E MODELO DE PROJETO

CONCEITOS BÁSICOS E MODELO DE PROJETO CONCEITOS BÁSICOS E MODELO DE PROJETO Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Na aula passada... Abstração Arquitetura Padrões de Projeto Separação por interesses (por afinidades) Modularidade

Leia mais

As Visões. Visões arquiteturais (revisão)

As Visões. Visões arquiteturais (revisão) As 4 + 1 Visões Jair C Leite Visões arquiteturais (revisão) Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da engenharia.

Leia mais

Análise e projeto de sistemas

Análise e projeto de sistemas Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os

Leia mais

Introdução à Análise e Projeto de Sistemas

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

Leia mais

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO Sumário PREFÁCIO...3 MODELO DA DOCUMENTAÇÃO...3 1. INTRODUÇÃO AO DOCUMENTO...3 1.1. Tema...3 2. DESCRIÇÃO

Leia mais

ARCHITECTURAL DESIGN. Ian Sommerville, 8º edição Capítulo 11 Aula de Luiz Eduardo Guarino de Vasconcelos

ARCHITECTURAL DESIGN. Ian Sommerville, 8º edição Capítulo 11 Aula de Luiz Eduardo Guarino de Vasconcelos ARCHITECTURAL DESIGN Ian Sommerville, 8º edição Capítulo 11 Aula de Luiz Eduardo Guarino de Vasconcelos Objetivos Tópicos abordados Arquitetura de Software Projeto de arquitetura Vantagens de arquitetura

Leia mais

Análise e Projeto de Sistemas

Análise e Projeto de Sistemas Análise e Projeto de Sistemas Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2012 Paradigmas e Processo de Software Engenharia de Software: Abrangência Engenharia de Software possui

Leia mais

Aula 01 Conceito de Banco de Dados e SGBD

Aula 01 Conceito de Banco de Dados e SGBD Aula 01 Conceito de Banco de Dados e SGBD Dado: conjunto de símbolos arranjados a fim de representar a informação fora da mente humana. Elemento de Dado: subconjunto de símbolos que compõem um dado com

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

Leia mais

Manutenção Leitura: Sommerville; Pressman

Manutenção Leitura: Sommerville; Pressman Manutenção Leitura: Sommerville; Pressman Auxiliadora Freire Fonte: Engenharia de Software 6º - 8º Edição / Ian Sommerville 2000-2007 Slide 1 Manutenção de software É modificar um programa depois que ele

Leia mais

Arquitetura de software

Arquitetura de software Arquitetura de software Problema: vamos implementar um clone do compraentrega.com.br Mantém preços atualizados Recebe encomendas e pagamento Recomenda itens a usuários Por onde começamos? Arquitetura =

Leia mais

SSC Engenharia de Software. Prof. Paulo C. Masiero

SSC Engenharia de Software. Prof. Paulo C. Masiero SSC - 5764 Engenharia de Software Prof. Paulo C. Masiero Processo de Software: Fases ou Subprocessos DEFINIÇÃO CONSTRUÇÃO MANUTENÇÃO Análise de Sistema Análise de Requisitos Projeto Projeto Processo pelo

Leia mais

Análise e Projeto de Software

Análise e Projeto de Software Análise e Projeto de Software Proj. Desenvolvimento de Software Prof. Cleverton Hentz cleverton.hentz@ifrn.edu.br 8 de junho de 2017 Material Apresentado Sumário de Aula 1 Introdução 2 Estruturação do

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Design Principles Representando SW em UML OO em C Pattens úteis para embedded Rodrigo M A Almeida Design Principles Design Principles são guias para decompor as funcionalidades e

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Prof. Fabiano Papaiz IFRN

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Prof. Fabiano Papaiz IFRN PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Prof. Fabiano Papaiz IFRN Um Processo de Desenvolvimento de Software, ou simplesmente Processo de Software, é um conjunto de atividades realizadas por pessoas cujo

Leia mais

Análise e Projeto Orientado a Objetos

Análise e Projeto Orientado a Objetos Análise e Projeto Orientado a Objetos Aula 1.10 - Engenharia de Requisitos Bruno Neiva Moreno Instituto Federal do Rio Grande do Norte Campus Nova Cruz bruno.moreno@ifrn.edu.br 1/27 Introdução A Engenharia

Leia mais

Banco de Dados. Introdução. Profa. Flávia Cristina Bernardini

Banco de Dados. Introdução. Profa. Flávia Cristina Bernardini Banco de Dados Introdução Profa. Flávia Cristina Bernardini * Slides Baseados no material elaborado pelos professores Eduardo R. Hruschka, Cristina D. A. Ciferri e Elaine Parros Machado Motivação Operações

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 2006 Profa. Dra. Itana Gimenes RUP: Projeto Artefatos Modelo de Projeto: Lista de classes de

Leia mais

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE CMP1280/CMP1250 Prof. Me. Fábio Assunção Introdução à Engenharia de Requisitos REQUISITOS Descrições do que o sistema deve fazer, os serviços oferecidos pelo

Leia mais

Estilos Arquiteturais

Estilos Arquiteturais Estilos Arquiteturais Estilos Arquiteturais A arquitetura de um sistema pode aderir a um ou mais estilos arquiteturais Um estilo define os tipos de elementos que podem aparecer em uma arquitetura e as

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

Como Modelar com UML 2

Como Modelar com UML 2 Ricardo Pereira e Silva Como Modelar com UML 2 Visual Books Sumário Prefácio... 13 1 Introdução à Modelagem Orientada a Objetos... 17 1.1 Análise e Projeto Orientados a Objetos... 18 1.2 Requisitos para

Leia mais

Engenharia de Software

Engenharia de Software Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 Requisitos do Sistema Introdução O que são requisitos de um software? Serviços (funcionalidades) de um software e restrições

Leia mais

Engenharia de Software. Projeto de Arquitetura

Engenharia de Software. Projeto de Arquitetura Engenharia de Software Projeto de Arquitetura O que já vimos? Introdução a Engenharia de Software Processos de Software Desenvolvimento Ágil de Software Engenharia de Requisitos Modelagem de sistemas (outra

Leia mais

ARQUITETURA E DESENHO

ARQUITETURA E DESENHO ARQUITETURA E DESENHO DE SOFTWARE CMP 1063 Prof. Me. Fábio Assunção Parte 2 DESENHO DE SOFTWARE Espaço do problema Espaço da solução. Interpretação não literal. Orientação à escrita. Orientação à diagramação.

Leia mais

Lista de Exercícios AV1

Lista de Exercícios AV1 Seminários Engenharia Integrados de Usabilidade em Sistemas de Informação SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO Lista de Exercícios AV1 Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão

Leia mais

UML Unified Modeling Language Linguagem de Modelagem Unificada

UML Unified Modeling Language Linguagem de Modelagem Unificada UML Unified Modeling Language Linguagem de Modelagem Unificada Prof. Gilberto Porto e-mail: porto@gilbertoporto.com.br A linguagem UML n UML (Unified Modeling Language) Linguagem de Modelagem Unificada

Leia mais

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Matéria Introdutória Banco de Dados Motivação Necessidade de armazenar grandes quantidades de dados Necessidade de acessar as informações de maneira eficiente e segura Evolução histórica: desenvolvimento

Leia mais

Engenharia de Software

Engenharia de Software Instituto Superior Politécnico de Ciências e Tecnologia Engenharia de Software Prof Pedro Vunge www.pedrovunge.com I Semestre de 2018 Capítulo 1 Introdução SUMÁRIO Engenharia de Software Definição; Objectivos

Leia mais

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações Sistema (SI) Coleção de atividades de Banco de Dados que regulam o compartilhamento, SI nas Organizações a distribuição de informações Fernando Fonseca e o armazenamento de dados relevantes ao gerenciamento

Leia mais

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010 1 1 Introdução 1.1 Teoria dos Sistemas 1.2 Constituição dos sistemas 1.3 Natureza dos sistemas 1.4 Parâmetros do sistema 1.5 Descrição de sistemas 1.6 Desafios enfrentados no desenvolvimento 1.7 Perfil

Leia mais

ENGENHARIA DE SOFTWARE. Introdução

ENGENHARIA DE SOFTWARE. Introdução ENGENHARIA DE SOFTWARE Introdução AGENDA Conceitos de Engenharia de Software Processo de desenvolvimento de software ENGENHARIA DE SOFTWARE CONCEITOS CENÁRIO INICIAL Desenvolvimento informal e não suficiente

Leia mais

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011 Banco de Dados Aula 2 - Prof. Bruno Moreno 19/08/2011 Aula passada.. Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza

Leia mais

PCS3413 Engenharia de Software e Banco de Dados

PCS3413 Engenharia de Software e Banco de Dados PCS3413 Engenharia de Software e Banco de Dados Aula 23 Escola Politécnica da Universidade de São Paulo 1 Acoplamento! Indica dependência entre classes.! Deve ser o menor possível.! Direcionar associações

Leia mais

Requisitos de sistemas

Requisitos de sistemas Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento

Leia mais

Prof. Esp. Fabiano Taguchi

Prof. Esp. Fabiano Taguchi UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com UML COMPETÊNCIA: Conhecer e desenvolver estudos de caso usando modelagem orientada a objeto. HABILIDADE: Conhecer

Leia mais

BD e Aplicações em Negócios

BD e Aplicações em Negócios BD e Aplicações em Negócios Sistemas de Banco de Dados: conceitos e arquitetura evandro@usp.br Modelo de dados Temos um conceito inicial (primitivo) do que pode ser um BD BD é um conjunto de dados Para

Leia mais

2

2 ANÁLISE DE SISTEMAS (processo de desenvolvimento de sistemas) por Antônio Maurício Pitangueira 1 2 Levantamento de requisitos Análise de requisitos Projeto Implementação Testes Implantação Foco da disciplina

Leia mais

Uma introdução a Domain Driven Design. Daniel Cukier IME-USP

Uma introdução a Domain Driven Design. Daniel Cukier IME-USP Uma introdução a Domain Driven Design Daniel Cukier danicuki@ime.usp.br IME-USP Padrões Um padrão é uma regra de três partes que expressa a relação entre um certo contexto 1, um problema 2 e uma solução

Leia mais

Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software

Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software Teste de Software Competência: Entender as técnicas e estratégias de testes de Software Conteúdo Programático Introdução O que é teste de software? Por que é necessário testar um software? Qual a causa

Leia mais

Banco de Dados e Aplicações em Negócios: Introdução.

Banco de Dados e Aplicações em Negócios: Introdução. Banco de Dados e Aplicações em Negócios: Introdução evandro@usp.br Motivação Extenso uso de Banco de Dados (BD) no cotidiano Bancos, serviços, comércio em geral (comércio eletrônico) Web e seus serviços

Leia mais

UML e seus diagramas

UML e seus diagramas UML e seus diagramas A UML Unified Modeling Language (Linguagem de Modelagem Unificada), como o próprio nome já diz, é uma linguagem para modelagem de objetos do mundo real, usada para especificar, construir,

Leia mais

Banco de Dados. Professor: Marcelo Machado Cunha IFS Campus Aracaju

Banco de Dados. Professor: Marcelo Machado Cunha IFS Campus Aracaju Banco de Dados Professor: Marcelo Machado Cunha IFS Campus Aracaju Definição Banco de Dados Conjunto de dados interrelacionados que objetivam atender as necessidades de um conjunto de usuários. Inglês:

Leia mais

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

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS Tereza Gonçalves Kirner Apresentação elaborada com base em: Hoffer, Jeffrey A., George, Joey F. Modern Systems Analysis and Design (Capítulo 1), Pearson,

Leia mais

Resolução dos exercícios da lista BD01

Resolução dos exercícios da lista BD01 Resolução dos exercícios da lista BD01 Pedro Losco Takecian Monitor João Eduardo Ferreira Professor 4 de abril de 2006 1. Quando faz sentido utilizar um SGBD ao invés de simplesmente utilizar o sistema

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos DCC / ICEx / UFMG Engenharia de Requisitos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Motivação Motivação Porque levantar Requisitos é importante? Motivação Porque levantar Requisitos é importante?

Leia mais

Professor Emiliano S. Monteiro

Professor Emiliano S. Monteiro Professor Emiliano S. Monteiro To-Do Doing Done Conhecer os processos de desenvolvimento habilita o aluno a realizar uma melhor escolha de processo para uso em projetos futuros. A vantagem de conhecer

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa

Leia mais

BANCO DE DADOS. Introdução. Prof. Marcelo Machado Cunha

BANCO DE DADOS. Introdução. Prof. Marcelo Machado Cunha BANCO DE DADOS Introdução Prof. Marcelo Machado Cunha Profissionais Envolvidos Administrador de Banco de Dados (DBA) responsável por autorizar o acesso ao banco de dados e coordenar e monitorar seu uso;

Leia mais

Prof. Marcelo Machado Cunha

Prof. Marcelo Machado Cunha Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD Banco de Dados (BD) é o arquivo físico, em dispositivos periféricos, onde estão armazenados os dados de diversos sistemas, para

Leia mais

Ciclos de Vida de Software

Ciclos de Vida de Software Tema da Aula Modelos de 1 Modelo em Cascata Prof. Cristiano R R Portella portella@widesoft.com.br O conceito de Ciclo de Vida de é um paradigma da Eng.. Existem vários modelos de ciclo de vida de software,

Leia mais

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos Banco de Dados Parte 2 Prof. Leonardo Vasconcelos - Conceitos e Arquiteturas de SBD Modelos de dados: conjunto de conceitos que podem ser usados para descrever a estrutura de um banco de dados. Permitem

Leia mais

Tópicos da Aula. Conceitos de programação orientada a objetos. Projeto orientado a objetos com UML

Tópicos da Aula. Conceitos de programação orientada a objetos. Projeto orientado a objetos com UML Projeto OO com UML Tópicos da Aula Conceitos de programação orientada a objetos Projeto orientado a objetos com UML Orientação a objetos A orientação a objetos, também conhecida como Programação Orientada

Leia mais

Banco de Dados. SGBDs. Professor: Charles Leite

Banco de Dados. SGBDs. Professor: Charles Leite Banco de Dados SGBDs Professor: Charles Leite Sistemas de BD Vimos que um BANCO DE DADOS representa uma coleção de dados com algumas propriedades implícitas Por exemplo, um BD constitui os dados relacionados

Leia mais

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software Reuso de Software Aula 04 Agenda da Aula Arquitetura de Software e Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 14 Março 2012 Arquitetura de Software Padrões arquiteturais

Leia mais

FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS. Projeto de Programas PPR0001

FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS. Projeto de Programas PPR0001 FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS Projeto de Programas PPR0001 2 Introdução Antes de desenvolver ou construir qualquer produto ou sistema em engenharia é necessário um... o PROJETO O que é um

Leia mais

Padrões. Arquitetura de Software Thaís Batista

Padrões. Arquitetura de Software Thaís Batista Padrões Endereçam uma classe de problemas recorrentes e apresenta uma solução para eles (podem ser considerados um par problema-solução) Permitem a construção de software com propriedades definidas Ajudam

Leia mais

1. INTRODUÇÃO A MODELAGEM DE DADOS

1. INTRODUÇÃO A MODELAGEM DE DADOS 1. INTRODUÇÃO A MODELAGEM DE DADOS Para se construir uma casa ou um prédio de qualidade, é essencial fazer um planejamento detalhado, com a finalidade de pensar sobre as formas de construção, fazer estimativas

Leia mais

Leitura: Cap : Sommerville; cap20: Pressman

Leitura: Cap : Sommerville; cap20: Pressman Leitura: Cap26-27 - 28: Sommerville; cap20: Pressman Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 1/47 Manutenção de software É modificar um programa depois que

Leia mais

Qualidade de Software QUALIDADE DE SOFTWARE PRODUTO

Qualidade de Software QUALIDADE DE SOFTWARE PRODUTO Qualidade de Software QUALIDADE DE SOFTWARE PRODUTO O que é Qualidade de Software Produto? Boa fabricação. Deve durar muito. Bom desempenho. Utilizável tanto em UNIX quanto em DOS. Adaptável às minhas

Leia mais

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer Parte 2 ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer P alguns conceitos básicos. A primeira definição é relativa aos conceitos de dados e informação. Dados são fatos em

Leia mais

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

UML (Unified Modelling Language)

UML (Unified Modelling Language) UML (Unified Modelling Language) Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide

Leia mais

Introdução. Introdução. Introdução. Planejamento da disciplina. Modelagem de Processos de Negócio. Prof.: Clarindo Isaías Pereira da Silva e Pádua

Introdução. Introdução. Introdução. Planejamento da disciplina. Modelagem de Processos de Negócio. Prof.: Clarindo Isaías Pereira da Silva e Pádua Modelagem de Processos de Negócio Prof.: Clarindo Isaías Pereira da Silva e Pádua Gestus Departamento de Ciência da Computação - UFMG Bibliografia Eriksson, H-E; Penker, M. Business Modeling with UML:

Leia mais

REUSO E REUSABILIDADE

REUSO E REUSABILIDADE REUSO E REUSABILIDADE Manutenção de Software Profa. Cynthia Pinheiro Antes de mais nada... 2ª Lista de Exercícios Já está disponível no site a 2ª Lista de Exercícios Entrega: dia 03/10, no horário da aula.

Leia mais

Banco de Dados - Conceitos. Baseado no material da Profa. Vania Bogorny (UFSC)

Banco de Dados - Conceitos. Baseado no material da Profa. Vania Bogorny (UFSC) Banco de Dados - Conceitos Baseado no material da Profa. Vania Bogorny (UFSC) 1 Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel compra de passagens

Leia mais

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro A importância da UML para projetar sistemas. Principais características do diagrama de classes e de sequência.

Leia mais

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

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins. Bibliografia Quais são os problemas? 4 A sofisticação do software ultrapassou nossa capacidade de construção. 4 Nossa capacidade de construir programas não acompanha a demanda por novos programas. 4 Nossa

Leia mais

Princípios de Análise e Projeto Orientados a Objetos com UML

Princípios de Análise e Projeto Orientados a Objetos com UML Princípios de Análise e Projeto Orientados a Objetos com UML Eduardo Bezerra Editora CAMPUS Copyright 2002, 2003 Eduardo Bezerra 1 Capítulo 1 Visão Geral Um modelo é uma simplificação da realidade que

Leia mais

Prof. Fabiano Taguchi

Prof. Fabiano Taguchi BANCO DE DADOS Prof. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com INTRODUÇÃO À BANCO DE DADOS Banco de dados desempenha um papel fundamental em todas as áreas em que os

Leia mais

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS Prof. Fabiano Papaiz IFRN O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa

Leia mais

Conceitos e arquitetura do banco de dados. Andre Noel

Conceitos e arquitetura do banco de dados. Andre Noel Conceitos e arquitetura do banco de dados Andre Noel SGBD SGBD cliente/servidor SGBD SGBD cliente/servidor Módulo cliente SGBD SGBD cliente/servidor Módulo cliente Módulo servidor Abstração de dados Quais

Leia mais

Prof. Ms. Ronaldo Martins da Costa

Prof. Ms. Ronaldo Martins da Costa Prof. Ms. Ronaldo Martins da Costa Diferentes conjuntos de etapas que envolvem métodos, ferramentas e procedimentos utilizados no desenvolvimento de software CiclodeVidaClássico Prototipação Modelo Espiral

Leia mais

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs

Leia mais

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU Aula 2 POO 1 Introdução Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

Princípios da Engenharia de Software aula 03

Princípios da Engenharia de Software aula 03 Princípios da Engenharia de Software aula 03 Prof.: José Honorato Ferreira Nunes Material cedido por: Prof.: Franklin M. Correia Na aula anterior... Modelos de processos de software: Evolucionário Tipos

Leia mais

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que

Leia mais

Engenharia de Software.

Engenharia de Software. Engenharia de Software Prof. Raquel Silveira O que é (Rational Unified Process)? É um modelo de processo moderno derivado do trabalho sobre a UML e do Processo Unificado de Desenvolvimento de Software

Leia mais

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade.

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade. Banco de Dados Aula 1.4 - Sistemas de Banco de Dados Bruno Neiva Moreno Instituto Federal do Rio Grande do Norte Campus Nova Cruz bruno.moreno@ifrn.edu.br 1/25 Arquitetura dos SBDs 2/25 Objetivos dos SGBDs

Leia mais

Problemas e Práticas Recomendadas no Desenvolvimento de Software

Problemas e Práticas Recomendadas no Desenvolvimento de Software Problemas e Práticas Recomendadas no Desenvolvimento de Software Objetivos deste módulo Levantar problemas enfrentados na prática do desenvolvimento de software Discutir boas práticas para o desenvolvimento

Leia mais

CONCEITOS DE PROJETOS - 2. Profa. Reane Franco Goulart

CONCEITOS DE PROJETOS - 2. Profa. Reane Franco Goulart 1 CONCEITOS DE PROJETOS - 2 Profa. Reane Franco Goulart MODULARIDADE A arquitetura do software incorpora a modularidade, isto é, o software é dividido em componentes nomeados separadamente e endereçáveis,

Leia mais

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F. Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio

Leia mais

Projeto de Sistemas; Projeto Orientado a Objetos; Estruturação em Camadas; Projeto Orientado a Objetos em Camadas; Um Exemplo Ilustrativo.

Projeto de Sistemas; Projeto Orientado a Objetos; Estruturação em Camadas; Projeto Orientado a Objetos em Camadas; Um Exemplo Ilustrativo. ESPECIALIZAÇÃO EM GESTÃO DE TECNOLOGIAS DA INFORMAÇÃO Projeto Orientado a Objetos AULA 04 Projeto de Sistemas; Projeto Orientado a Objetos; Estruturação em Camadas; Projeto Orientado a Objetos em Camadas;

Leia mais

Documento de Arquitetura de Software- SGE

Documento de Arquitetura de Software- SGE Documento de Arquitetura de Software- SGE IFG Autor: Marcelo Roldrin Barros Silva 1. Introdução 1.1 Finalidade Este documento oferece uma visão geral arquitetural abrangente do sistema SGE (Sistema de

Leia mais

Visão Geral Parte 2. Jair C Leite DIMAp/UFRN

Visão Geral Parte 2. Jair C Leite DIMAp/UFRN Visão Geral Parte 2 Jair C Leite DIMAp/UFRN Requisitos Objetivos ou restrições estabelecidas por clientes e usuários do sistema que definem as diversas propriedades do sistema Condição ou capacidade necessária

Leia mais

Modelagem de Sistemas Web. Modelagem de BD

Modelagem de Sistemas Web. Modelagem de BD Modelagem de Sistemas Web Aula 9 Modelagem de BD OBS: Pré-requisito: noções intermediárias em BD e de modelo ER Fonte: Proj. e Mod. BD 4/E Capítulo: Análise de Req. E Mod. Dados Conceit. - Toby Teorey

Leia mais

Engenharia de Software

Engenharia de Software Arquitetura de Sistemas Distribuídos Cap. 12 Sommerville 8 ed. Introdução: É um software que usa várias máquinas para executar suas tarefas. Praticamente todos os sistemas baseado em grandes computadores

Leia mais

Engenharia de Software

Engenharia de Software Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 Processo Unificado de Desenvolvimento de Software Processo Unificado O que é: Um processo (de engenharia) de software é a definição

Leia mais

ANÁLISE E PROJETO DE SISTEMAS TÓPICO IV - INTRODUÇÃO A UML

ANÁLISE E PROJETO DE SISTEMAS TÓPICO IV - INTRODUÇÃO A UML ANÁLISE E PROJETO DE SISTEMAS TÓPICO IV - INTRODUÇÃO A UML AGENDA Histórico da UML O que é e para que serve a UML Conjunto de diagramas da UML Overview Diagrama de Casos de Uso e Diagrama de Classes PROBLEMAS

Leia mais

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

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

Leia mais

DMS - DOCUMENTO DE MODELAGEM DE SISTEMA VERSÃO: [NOME DO SISTEMA] [SIGLA] [AUTORES]

DMS - DOCUMENTO DE MODELAGEM DE SISTEMA VERSÃO: [NOME DO SISTEMA] [SIGLA] [AUTORES] DMS - DOCUMENTO DE MODELAGEM DE SISTEMA Este documento foi criado seguindo as recomendações e orientações do livro UML na Prática Do Problema ao Sistema e do modelo PRISM do MPDS (Modelo Prático para Desenvolvimento

Leia mais

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software Uma Arquitetura para a Coordenação e a de Artefatos de 23 3 Arquitetura para a Coordenação e a de Artefatos de Resumo Este capítulo apresenta a arquitetura ACCA, que é a parte central deste trabalho. A

Leia mais

UML (Linguagem unificada de modelagem)

UML (Linguagem unificada de modelagem) UML (Linguagem unificada de modelagem) Modelo de Casos de Uso -> descritos através de Diagramas de Caso de uso Determinação dos usos que o sistema terá (requisitos funcionais) captura os usos ou aplicações

Leia mais

IntroduçãoaoProcesso. Prof. Anderson Cavalcanti UFRN-CT-DCA

IntroduçãoaoProcesso. Prof. Anderson Cavalcanti UFRN-CT-DCA IntroduçãoaoProcesso Unificado(PU) Prof. Anderson Cavalcanti UFRN-CT-DCA Processo de Desenvolvimento O conjunto de atividades de desenvolvimento, sua ordem temporal e a atribuição de responsabilidades

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Prof. Fábio Lúcio Meira

Prof. Fábio Lúcio Meira Prof. Fábio Lúcio Meira Objetivo Transformar os requisitos no design do futuro sistema Evoluir uma arquitetura robusta do sistema Adaptar o design para adequá-lo ao ambiente de implementação O principal

Leia mais