A ciência do Projeto de Software. Profa. Reane Franco Goulart

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

Download "A ciência do Projeto de Software. Profa. Reane Franco Goulart"

Transcrição

1 A ciência do Projeto de Software Profa. Reane Franco Goulart

2 O que é a ciência do projeto de software? É a ciência para elaborar planos e tomar decisões sobre software. Auxilia as pessoas a tomar decisões como: Qual deveria ser a estrutura do código de nosso programa? É mais importante focar em ter um programa rápido ou um programa cujo código seja de fácil leitura? Para nossas necessidades, qual linguagem de programação deveríamos usar?

3 Projeto de Software não aborda assuntos como!!! Qual deveria ser a estrutura da empresa? Quando deveríamos ter reuniões de equipe? Quais horas do dia os programadores deveriam trabalhar? Como deveríamos avaliar o desempenho de nossos programadores?

4 Projeto de Software não aborda assuntos como!!! Essas não são decisões sobre seu projeto, são decisões sobre você ou sua empresa. É importante tomar essas decisões de modo adequado muitos projetos de software falharam porque não tinham um bom gerenciamento.

5 Como tomar as decisões técnicas corretas sobre o software? Qualquer coisa que envolve a arquitetura de seu sistema de software ou as decisões técnicas que você toma enquanto cria o sistema se enquadra na categoria de projeto de software.

6 Pessoas envolvidas nas decisões Todo programador que está trabalhando em um projeto de software está envolvido em projeto. O desenvolvedor líder está encarregado de projetar a arquitetura geral do programa inteiro. Os programadores seniores estão encarregados de projetar suas próprias grandes áreas. Os programadores juniores estão encarregados de projetar suas partes do programa, mesmo que sejam tão simples quanto uma parte de um arquivo.

7 Pessoas envolvidas nas decisões Todas as pessoas que escrevem software são projetistas. Cada pessoa em uma equipe de software é responsável por se certificar de que seu código está bem projetado. Um projetista deve sempre estar disposto a ouvir sugestões e feedback, porque os programadores normalmente são pessoas que têm boas ideias. Qualquer decisão deve ser tomada por uma pessoa, não por um grupo de pessoas.

8 Como tornar a ciência de projeto de software em CIÊNCIA? O projeto de software não é uma ciência. O que é uma ciência? Sua definição é um pouco mais complexa, para que um assunto seja uma ciência, ele tem que passar por certos testes: Conhecimento coletado, ou seja, tem que ser composta de fatos - não de opiniões esses fatos devem ter sido reunidos em pesquisa em livros, artigos, dentre outros. Conhecimento deve ter algum tipo de organização dividido em categorias e as partes devem estar relacionadas umas às outras em termos de importância.

9 Como tornar a ciência de projeto de software em CIÊNCIA? Uma ciência deve conter verdades gerais ou leis básicas. Deve dizer como fazer algo no universo físico como é a aplicação no trabalho ou na vida. Uma ciência é descoberta e comprovada por meio de método científico. No mundo do software, tem-se muito conhecimento; ele foi coletado e também organizado. Todas as partes exigidas para se fazer uma ciência.

10 Leis Fundamentais do Projeto de Software Existem duas áreas importantes que devem ser observadas no desenvolvimento do projeto de software: leis claramente declaradas e verdades inabaláveis que nunca falharam. Desenvolvedores de softwares experientes sabem qual é a coisa certa a fazer, mas por que aquela é a coisa certa? O que torna algumas decisões certas e algumas decisões erradas?

11 Quais são as Leis Fundamentais do Projeto de Software? Existe um conjunto de definições, fatos, regras e leis para desenvolvimento de um software. Definições dizem o que algo é e como você o usaria. Fatos são apenas declarações verdadeiras sobre algo. Regras são declarações que abrange, algo específico e ajudam a orientar decisões, mas não o ajudam a prever o que acontecerá no futuro ou a descobrir outras verdades. As regras dizem se deve ou não tomar alguma decisão.

12 Quais são as Leis Fundamentais do Projeto de Software? Leis são fatos que serão sempre verdadeiros e abrangem uma ampla área de conhecimento. Elas ajudam a descobrir outras verdades importantes e permitem que você preveja o que acontecerá no futuro. De todas as leis são as mais importantes.

13 Quais são as Leis Fundamentais do Projeto de Software? Exemplo: Fato: diferença entre um mau e um bom programador é o entendimento: maus programadores não entendem o que estão fazendo, e bons programadores, sim. Regra: um bom programador deve fazer tudo o que puder para tornar o que ele escreve o mais simples possível a outros programadores. Definição: um programa é: uma sequencia de instruções dadas ao computador e as ações executadas por um computador como resultado de ter recebido instruções.

14 Quais são as Leis Fundamentais do Projeto de Software? Se a pessoa trabalha na área de desenvolvimento de software há muito tempo, possivelmente já se deparou com algumas dessas ideias antes. O que você já respondeu quando deparou com questões assim: Eu sabia que esse dado particular era comprovadamente verdadeiro? Eu sabia quão importante ele era?

15 Quais são as Leis Fundamentais do Projeto de Software? Eu poderia tê-lo comunicado claramente a outra pessoa para que ela o entendesse completamente? Eu entendi como ele se relacionava com outros dados na área de desenvolvimento de software? Se puder responder sim a algumas dessas perguntas, enquanto que antes dizia não ou talvez. Dessa forma você obteve um tipo específico de entendimento, e essa compreensão é uma parte enorme do que diferencia uma ciência de um mero conjunto de ideias.

16 Quais são as Leis Fundamentais do Projeto de Software? Vejam alguns exemplos no apêndice do livro: Apendice B - fatos - leis - regras - definicoes.pdf

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo.

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo. Lista de Exercício 1 Algoritmo e Programação 29/08/2018 (Solução) 1) Escreva conforme a premissas computacionais, o que vem a ser, lógica. R: São as premissas básicas para se executar instruções, alocadas

Leia mais

Algoritmos Computacionais

Algoritmos Computacionais UNIDADE 1 Processador e instruções Memórias Dispositivos de Entrada e Saída Software ARQUITETURA BÁSICA UCP Unidade central de processamento MEM Memória E/S Dispositivos de entrada e saída UCP UNIDADE

Leia mais

PARTE I - FUNDAMENTOS DE PROJETOS DE COMPUTADORES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

PARTE I - FUNDAMENTOS DE PROJETOS DE COMPUTADORES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR PARTE I - FUNDAMENTOS DE PROJETOS DE COMPUTADORES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Entender a arquitetura de computadores do ponto de vista do programador Entender

Leia mais

Gerência e Planejamento de Projeto. Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016

Gerência e Planejamento de Projeto. Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016 Gerência e Planejamento de Projeto Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016 Conteúdo: Parte 1: Gerenciamento & Qualidade Plano de Projeto Aspectos Gerais Parte 2: Plano de

Leia mais

Gerência e Planejamento de Projeto. Engenharia de Software I Profa. Elisa Yumi Nakagawa 1 o semestre de 2015

Gerência e Planejamento de Projeto. Engenharia de Software I Profa. Elisa Yumi Nakagawa 1 o semestre de 2015 Gerência e Planejamento de Projeto Engenharia de Software I Profa. Elisa Yumi Nakagawa 1 o semestre de 2015 Conteúdo: Parte 1: Gerenciamento & Qualidade Plano de Projeto - aspectos gerais Parte 2: Plano

Leia mais

Lógica de Programação, Algoritmos e Estruturas de Dados

Lógica de Programação, Algoritmos e Estruturas de Dados Lógica de Programação, Algoritmos e Estruturas de Dados Professor: Vilson Heck Junior vilson.junior@ifsc.edu.br Agenda Funções Básicas do Software; Relações entre áreas; Introdução à Algoritmos; Introdução

Leia mais

LO GICA E TE CNICA DE PROGRAMAC ÃO. TÁSSIO JOSÉ GONÇALVES GOMES

LO GICA E TE CNICA DE PROGRAMAC ÃO. TÁSSIO JOSÉ GONÇALVES GOMES LO GICA E TE CNICA DE PROGRAMAC ÃO TÁSSIO JOSÉ GONÇALVES GOMES www.tassiogoncalves.com.br tassiogoncalvesg@gmail.com INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO Lógica Sequência Lógica Instruções Algoritmo Programas

Leia mais

Engenharia de Software II

Engenharia de Software II Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Engenharia de Software II Aula 04 (rogerio@fct.unesp.br) 2 Conteúdo: Parte 1: Gerenciamento

Leia mais

Arquitetura de Software. Fatec ES III - Prof. Dinis 1

Arquitetura de Software. Fatec ES III - Prof. Dinis 1 Fatec ES III - Prof. Dinis 1 Segundo Shaw e Garlan Desde quando o primeiro programa foi dividido em módulos, os sistemas de software passaram a ter arquiteturas, e os programadores têm sido responsáveis

Leia mais

Prof. Luiz A. Nascimento

Prof. Luiz A. Nascimento Prof. Luiz A. Nascimento Qual a importância da Engenharia de Software? O desenvolvimento de um software envolve processos muitos complexos. A engenharia de software estabelece um modelo para se construir

Leia mais

Fundamentos de Programação de Computadores Linguagem C Função Unidade 08 Linguagem C - Função 1/18

Fundamentos de Programação de Computadores Linguagem C Função Unidade 08 Linguagem C - Função 1/18 Linguagem C Função Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro Prof. Edwar Saliba Júnior Janeiro de 2018 Unidade 08 Linguagem C - Função 1/18 Conceitos As técnicas de programação

Leia mais

Introdução à Programação extrema (XP)

Introdução à Programação extrema (XP) Introdução à Programação extrema (XP) Cursos de Verão 2008 - IME/USP Mariana Bravo e Hugo Corbucci Departamento de Ciência da Computação www.agilcoop.org.br O que é? XP é leve XP é focado no desenvolvimento

Leia mais

FATORES E MÉTRICAS DE QUALIDADE

FATORES E MÉTRICAS DE QUALIDADE FATORES E MÉTRICAS DE QUALIDADE 1 2 FATORES DE QUALIDADE OPERAÇÃO DO PRODUTO CORRETITUDE (FAZ O QUE EU QUERO?) CONFIABILIDADE (SE COMPORTA COM PRECISÃO?) EFICIÊNCIA (RODARÁ TÃO BEM QUANTO POSSÍVEL?) INTEGRIDADE

Leia mais

PROGRAMAÇÃO EXTREMA - XP

PROGRAMAÇÃO EXTREMA - XP PROGRAMAÇÃO EXTREMA - XP Hoje em dia o maior problema para a entrega de um projeto, é a quantidade de riscos que podem ocorrer com o mesmo, como atraso na entrega, sistema que está sendo entregue não é

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

Sâmia Rodrigues Gorayeb. Arquitetura de Computadores Linguagem de Máquina

Sâmia Rodrigues Gorayeb. Arquitetura de Computadores Linguagem de Máquina Sâmia Rodrigues Gorayeb Arquitetura de Computadores Linguagem de Máquina Arquitetura de Computadores Agenda: Linguagem de máquina 1. Introdução 2. Característica 3. Programas Compilados 4. Programas Interpretados

Leia mais

Introdução à Computação: Máquinas Multiníveis

Introdução à Computação: Máquinas Multiníveis Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Paradigmas de Linguagens

Paradigmas de Linguagens Paradigmas de Linguagens Aula 1: Introdução e Conceitos Básicos Professora Sheila Cáceres O que é um paradigma??? Paradigmas de Linguagens - Sheila Cáceres 2 O que é um paradigma??? Paradigmas de Linguagens

Leia mais

LO GICA E TE CNICA DE PROGRAMAC ÃO. TÁSSIO JOSÉ GONÇALVES GOMES

LO GICA E TE CNICA DE PROGRAMAC ÃO. TÁSSIO JOSÉ GONÇALVES GOMES LO GICA E TE CNICA DE PROGRAMAC ÃO TÁSSIO JOSÉ GONÇALVES GOMES www.tassiogoncalves.com.br tassiogoncalvesg@gmail.com APRESENTAÇÃO TÁSSIO JOSÉ GONÇALVES GOMES Mestrando em Informática pela UFAL e Bacharel

Leia mais

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Introdução geovanegriesang@unisc.br Processadores de linguagem Linguagens de programação são notações para se descrever

Leia mais

Introdução a programação Visão geral

Introdução a programação Visão geral Instituto Federal de Minas Gerais Campus Ponte Nova Introdução a programação Visão geral Professor: Saulo Henrique Cabral Silva Conceitos lógica/algoritmo A lógica é usada no dia a dia das pessoas para

Leia mais

Arquitetura e Organização de computadores

Arquitetura e Organização de computadores Arquitetura e Organização de computadores Aula 1: Organização e evolução de computador, parte 1 Prof. MSc. Pedro Brandão Neto pedroobn@gmail.com Sistemas de Informação - UNDB Introdução Computador Digital

Leia mais

Java Básico. Aula 1 por Thalles Cezar

Java Básico. Aula 1 por Thalles Cezar + Java Básico Aula 1 por Thalles Cezar + Quem sou eu? Thalles Cezar, muito prazer! Estudante de Ciências da Computação, indo para o 9º semestre. Quase lá!! =) Estagiário no projeto CIn/Samsung TVD. Professor

Leia mais

O PAPEL DO ANALISTA DE NEGÓCIOS NA AGILIDADE. Ainda precisamos de Analistas de Negócios?

O PAPEL DO ANALISTA DE NEGÓCIOS NA AGILIDADE. Ainda precisamos de Analistas de Negócios? O PAPEL DO ANALISTA DE NEGÓCIOS NA AGILIDADE Ainda precisamos de Analistas de Negócios? Camila Capellão Entusiasta em agilidade, participo ativamente da comunidade ágil Tenho mais de 13 anos de experiência

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

INFORMÁTICA: Informação automática

INFORMÁTICA: Informação automática INTRODUÇÃO INFORMÁTICA: Informação automática Definição: é a ciência que estuda o tratamento automático e racional da informação (encarregada pelo estudo e desenvolvimento de máquinas e métodos para processar

Leia mais

Tratamento dos Erros de Sintaxe. Adriano Maranhão

Tratamento dos Erros de Sintaxe. Adriano Maranhão Tratamento dos Erros de Sintaxe Adriano Maranhão Introdução Se um compilador tivesse que processar somente programas corretos, seu projeto e sua implementação seriam grandemente simplificados. Mas os programadores

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

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Lista de Exercícios - 04 Programação de Computadores I Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados na programação

Leia mais

Introdução à Programação de Computadores Fabricação Mecânica

Introdução à Programação de Computadores Fabricação Mecânica Introdução à Programação de Computadores Fabricação Mecânica Edilson Hipolito da Silva edilson.hipolito@ifsc.edu.br - http://www.hipolito.info Aula 04 - Linguagens de Programação, Interpretador, compilador

Leia mais

Working 03 : Conceitos Básicos I

Working 03 : Conceitos Básicos I Working 03 : Conceitos Básicos I Objetivos: Dominar os conceitos básicos da linguagem de programação C; Aprender a utilizar o compilador, identificando os erros de sintaxe do código fonte; Prazo de Envio:

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES ORGANIZAÇÃO DE COMPUTADORES CAMPUS SANTO ANDRÉ CELSO CANDIDO SEMESTRE 2014-1 1 CONCEITOS ASSUNTOS DESTA AULA: Funcionalidades de um computador; Hardware e Software; Componentes de um computador: o CPU

Leia mais

GERENCIAMENTO DO TEMPO DO PROJETO

GERENCIAMENTO DO TEMPO DO PROJETO DO PROJETO Gestão de Projetos de Infraestrutura Luciano Rodrigues de Souza GESTÃO DO TEMPO Começar um trabalho sem planejá-lo primeiro, ou seja, partir para o AGIR antes do PENSAR em como agir. Fazer atividades

Leia mais

1. Envolve a coleta de requisitos de todos os elementos do sistema; 2.Essa visão de sistema é essencial quando o software faz interface com outros elementos como HW, pessoas e BD; 1. processo de coleta

Leia mais

Aula I Introdução à Lógica de Programação

Aula I Introdução à Lógica de Programação Aula I Introdução à Lógica de Programação Referência bibliográfica BENEDUZZI H, METZ J. Lógica e Linguagem de Programação Introdução ao Desenvolvimento de Software. Ed. Livro Técnico Introdução A demanda

Leia mais

Programação Estruturada Aula - Introdução a Linguagem C

Programação Estruturada Aula - Introdução a Linguagem C Programação Estruturada Aula - Introdução a Linguagem C Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br 2 HISTÓRICO DA LINGUAGEM C HISTÓRICO DA LINGUAGEM C Como tudo iniciou... C iniciou

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

Marcelo Henrique dos Santos

Marcelo Henrique dos Santos Programação de jogos em rede Marcelo Henrique dos Santos www.marcelohsantos.com.br Programação de jogos em rede Aula 5: Segurança Segurança Ao conectar um computador a uma rede, é necessário que tome as

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Lista 05 Algoritmos e Linguagens de Programação Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados na programação

Leia mais

3 Introdução aos algoritmos

3 Introdução aos algoritmos 3 Introdução aos algoritmos 3.1 Motivação 3.1.1 Por que estudar algoritmos? Olhe em sua volta, ou melhor, olhe em seu computador: você já percebeu quantos softwares diferentes você utiliza diariamente?

Leia mais

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli Programa de computador sequência de comandos ou instruções executados por um computador com a finalidade de produzir um resultado e resolver um problema; Linguagem de programação método para a criação

Leia mais

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR ELETRÔNICA DIGITAL II AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR acjunior@facthus.edu.br 1º SEMESTRE 2009 CONTEÚDO PROGRAMADO: 1 O que é um computador digital? 2 Como funcionam os computadores 3 O agente

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

Aula 06 - Máquina Multinível e Von Neumann

Aula 06 - Máquina Multinível e Von Neumann Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos Instalação e Organização de Computadores Aula 06 - Máquina Multinível e Von Neumann Prof. Diego Pereira

Leia mais

Componente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída

Componente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída 11 1 Introdução Recentes avanços em redes de computadores impulsionaram a busca e o desenvolvimento de meios para facilitar e acelerar o desenvolvimento de aplicações em sistemas distribuídos, tornando

Leia mais

AULA 01: APRESENTAÇÃO

AULA 01: APRESENTAÇÃO ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 01: APRESENTAÇÃO Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAIS OS OBJETIVOS DESSA DISCIPLINA?

Leia mais

Profa. Reane Franco Goulart

Profa. Reane Franco Goulart Profa. Reane Franco Goulart É uma representação de engenharia de algo que vai ser construído. Para a engenharia de software o projeto foca em quatro áreas principais: dados, arquitetura, interfaces e componentes.

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Unidade Central de Processamento (CPU) Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Baseado nos slides do capítulo

Leia mais

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO. ANÁLISE E DESENVOLVIMENTO DE SISTEMAS/PARANGABA PROF. MS. RONNISON REGES VIDAL Ceará, 01 de fevereiro de 2017

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO. ANÁLISE E DESENVOLVIMENTO DE SISTEMAS/PARANGABA PROF. MS. RONNISON REGES VIDAL Ceará, 01 de fevereiro de 2017 INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ANÁLISE E DESENVOLVIMENTO DE SISTEMAS/PARANGABA PROF. MS. RONNISON REGES VIDAL Ceará, 01 de fevereiro de 2017 ROTEIRO O que é Análise e Desenvolvimento de Sistemas? Como

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Estruturas de Controle (Repetição) Professor: Charles Leite Repetição de Instruções Na resolução de problemas em programação, frequentemente, precisamos repetir uma

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

Análise de Requisitos

Análise de Requisitos Análise de Requisitos Prof.ª: Érika A. Barrado Analisar x Projetar Análise: significa investigar, descobrir ou desvendar algo; Consiste em encontrar o conjunto de requisitos para um dado software; Definida

Leia mais

Introdução a Algoritmos - Revisão

Introdução a Algoritmos - Revisão Introdução a Algoritmos - Revisão O computador é uma máquina capaz de seguir uma certa espécie de algoritmos, chamados programas Ele possui uma memória, capaz de armazenar dados, e uma unidade aritmética,

Leia mais

Marcelo Henrique dos Santos

Marcelo Henrique dos Santos Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Negócios em Mídias Digitais MBA em Marketing e Vendas Especialista em games : Produção e Programação Bacharel em Sistema de Informação

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação Jordana Sarmenghi Salamon jssalamon@inf.ufes.br jordanasalamon@gmail.com http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda

Leia mais

Projeto e Análise de Algoritmos. Introdução. Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática

Projeto e Análise de Algoritmos. Introdução. Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática Projeto e Análise de Algoritmos Introdução Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática Projeto e Análise de Algoritmos Eu penso que o projeto de algoritmos eficientes

Leia mais

Linguagem de Programação I. Aula 10 Funções

Linguagem de Programação I. Aula 10 Funções Linguagem de Programação I Aula 10 Funções Da Aula Anterior Tipos de dados básicos e operadores em C Declaração de variáveis e modificadores de tipo Estruturas de Controle Arrays unidimensionais Geração

Leia mais

Algoritmos. Laura Goulart. 11 de Dezembro de 2018 UESB. Laura Goulart (UESB) Algoritmos 11 de Dezembro de / 12

Algoritmos. Laura Goulart. 11 de Dezembro de 2018 UESB. Laura Goulart (UESB) Algoritmos 11 de Dezembro de / 12 Algoritmos Laura Goulart UESB 11 de Dezembro de 2018 Laura Goulart (UESB) Algoritmos 11 de Dezembro de 2018 1 / 12 O que é um algoritmo? Um algoritmo é uma sequência de passos(instruções) para resolver

Leia mais

Análise e Projeto. Prof. Erinaldo Sanches Nascimento

Análise e Projeto. Prof. Erinaldo Sanches Nascimento Análise e Projeto Prof. Erinaldo Sanches Nascimento Objetivos Apresentar o ciclo de vida de desenvolvimento de sistemas. Descrever as metodologias de desenvolvimento de sistemas. 2 Introdução Programação

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

Algoritmos e Técnicas de Programação

Algoritmos e Técnicas de Programação Algoritmos e Técnicas de Programação Estrutura, Visualg e Variáveis filipe.raulino@ifrn.edu.br Programação Estruturada A programação estruturada (Top-Down) estabelece uma disciplina de desenvolvimento

Leia mais

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO Prof. Msc. Saulo Popov Zambiasi (saulopz@gmail.com) Informação - ICPG - Criciuma - SC 1 Conceitos de Inteligência e Inteligência Artificial.

Leia mais

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES Paradigmas da Engenharia de Software AULA 03-04 PROF. ABRAHAO LOPES Introdução O processo de software é visto por uma sequência de atividades que produzem uma variedade de documentos, resultando em um

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

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2 Processos de Desenvolvimento de Software Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2 A Engenharia de Software Uma Tecnologia em Camadas Gerenciamento da Qualidade Total e filosofias

Leia mais

1 TECNOLOGIA ELEMENTAR CAPÍTULO 1 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO C.

1 TECNOLOGIA ELEMENTAR CAPÍTULO 1 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO C. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 1 E-books PCNA Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO C Página 1 2 TECNOLOGIA ELEMENTAR CAPÍTULO 1 SUMÁRIO Apresentação -----------------------------------------------------------

Leia mais

Evolução do Software e os Tipos de Softwares Existentes. Profa. Reane Franco Goulart

Evolução do Software e os Tipos de Softwares Existentes. Profa. Reane Franco Goulart Evolução do Software e os Tipos de Softwares Existentes Profa. Reane Franco Goulart Evolução da Engenharia de Software Os primeiros computadores, construídos na década de 1940, não possuíam software: os

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

Análise de Sistemas Aula 4

Análise de Sistemas Aula 4 Análise de Sistemas Aula 4 Prof. Emerson Klisiewicz Contextualização Aula 4 Gerenciamento de Requisitos Refinamento de Requisitos Aprovação de Requisitos Matriz de Rastreabilidade O Sucesso Clientes satisfeitos

Leia mais

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO Prof. Msc. Carlos José Giudice dos Santos carlos@oficinadapesquisa.com.br www.oficinadapesquisa.com.br IMPORTÂNCIA DO ESTUDO DAS LINGUAGENS

Leia mais

AVALIAÇÃO DE INTERFACES

AVALIAÇÃO DE INTERFACES Conceitos do Livro: Interação Humano - Computador Simone D. J. Barbosa/Bruno Santana da Silva Orienta o avaliador: Introdução Fazer julgamento sobre a qualidade de uso Identificar problemas do usuário

Leia mais

Introdução à plataforma Java

Introdução à plataforma Java Introdução à plataforma Java Apresentação: Professor: Galvez Gonçalves prof.gago@gmail.com O que estudaremos 1. Os conceitos de programação orientada a objetos através de uma linguagem de programação que

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

semana 03/05/2014 a 09/05/2014 semana 10/05/2014 a 16/05/2014 semana 17/05/2014 a 23/05/ e 25/05/2014

semana 03/05/2014 a 09/05/2014 semana 10/05/2014 a 16/05/2014 semana 17/05/2014 a 23/05/ e 25/05/2014 semana 03/05/2014 a 09/05/2014 semana 10/05/2014 a 16/05/2014 semana 17/05/2014 a 23/05/2014 24 e 25/05/2014 PROGRAMAÇÃO DE 03/05/2014 a 09/05/2014 PROGRAMAÇÃO DE 03/05/2014 a 09/05/2014 PROGRAMAÇÃO DE

Leia mais

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima Gerência de Projetos e Qualidade de Software Prof. Walter Gima 1 OBJETIVO Compreender uma série de técnicas de testes, que são utilizadas para descobrir defeitos em programas Conhecer as diretrizes que

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2) Tecnólogo em Análise e Desenvolvimento de Sistemas Sistemas Operacionais (SOP A2) Visão Geral Referências: Sistemas Operacionais Modernos. Andrew S. Tanenbaum. Editora Pearson. 3ª ed. 2010. Seção: 1.1

Leia mais

LINGUAGEM E TECNICAS DE PROGRAMAÇÃO

LINGUAGEM E TECNICAS DE PROGRAMAÇÃO LINGUAGEM E TECNICAS DE PROGRAMAÇÃO Aula 03 Lógica Entrada de dados Lógica Lógica, no seu sentido mais amplo, está presente em todos os passos de nossas vidas, servindo de base para resolução de nossos

Leia mais

Arquiteturas RISC e CISC. Adão de Melo Neto

Arquiteturas RISC e CISC. Adão de Melo Neto Arquiteturas RISC e CISC Adão de Melo Neto 1 Arquitetura RISC Arquitetura RISC. É um das inovações mais importantes e interessantes. RISC significa uma arquitetura com um conjunto reduzido de instruções

Leia mais

COMISSIONAMENTO DE SISTEMAS DE AUTOMAÇÃO

COMISSIONAMENTO DE SISTEMAS DE AUTOMAÇÃO COMISSIONAMENTO DE SISTEMAS DE AUTOMAÇÃO Comissionamento de sistemas de automação Verificar se os sistemas estão operando conforme o projetado. É uma verificação que, deve ser feita no comissionamento

Leia mais

Projetos Curriculares LEGO Education WeDo 2.0

Projetos Curriculares LEGO Education WeDo 2.0 Projetos Curriculares LEGO Education WeDo 2.0 LEGO Education WeDo 2.0 foi desenvolvido para envolver e motivar os estudantes do Ensino Fundamental I a aprender conteúdos relacionados às áreas de Ciências

Leia mais

Análise do problema. Desenvolvimento de programas. Desenvolvimento do algoritmo. Análise do problema

Análise do problema. Desenvolvimento de programas. Desenvolvimento do algoritmo. Análise do problema Desenvolvimento de programas 1 Análise do problema 2 Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração Conhecer exatamente o que o problema

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores Apresentação Teóricas Prof. Helder Daniel Gab: 2.66 hdaniel@ualg.pt Práticas Prof. Amine Berquia Gab: 2.?? hdaniel@ualg.pt AA2011/2012 ArqC - DEEI - UAlg 2 / Programa Práticas

Leia mais

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES Adão de Melo Neto 1 INTRODUÇÃO Desde 1950, houveram poucas inovações significativas nas áreas de arquitetura e organização de computadores. As principais

Leia mais

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger Algoritmos e Linguagens de Programação Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger Conceitos Básicos Para dizer o que um computador deve fazer devemos programá-lo através de instruções

Leia mais

1.1 Linguagens de Programação

1.1 Linguagens de Programação Fundamentos Procurando fazer com que haja uma melhor compreensão para o estudo e desenvolvimento utilizando linguagens de programação, este capítulo apresenta conceitos básicos sobre como um programa pode

Leia mais

Algoritmo de Programação. Aula1

Algoritmo de Programação. Aula1 Algoritmo de Programação Aula1 Conceituação Muitas definições podem ser dadas à palavra algoritmo. Atualmente, tem-se associado algoritmo à computação, mas este não é um termo restrito à computação ou

Leia mais

Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa

Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa Desenvolvimento de programas 1 Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração Análise do problema 2 Conhecer exatamente o que o problema

Leia mais

O L A. Questionário OLA. Avaliação de Liderança Organizacional. Versão Portuguesa. Instruções Gerais

O L A. Questionário OLA. Avaliação de Liderança Organizacional. Versão Portuguesa. Instruções Gerais O L A Questionário OLA Avaliação de Liderança Organizacional Versão Portuguesa Instruções Gerais O propósito deste instrumento é permitir que organizações descubram como suas práticas e crenças sobre liderança

Leia mais

Ética. Interação com o público interno e externo. Professor Fidel Ribeiro.

Ética. Interação com o público interno e externo. Professor Fidel Ribeiro. Ética Interação com o público interno e externo Professor Fidel Ribeiro www.acasadoconcurseiro.com.br Ética INTERAÇÃO COM O PÚBLICO INTERNO E EXTERNO Quando fala-se em interação com o público interno

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

Universidade Federal de Uberlândia Faculdade de Computação Prof. Fabiano Dorça. Introdução. Padrões de projeto

Universidade Federal de Uberlândia Faculdade de Computação Prof. Fabiano Dorça. Introdução. Padrões de projeto Universidade Federal de Uberlândia Faculdade de Computação Prof. Fabiano Dorça Introdução Padrões de projeto Algumas definições... Um padrão de projeto (design pattern) é uma solução geral reutilizável

Leia mais

Agenda TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 3 21/08/2012

Agenda TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 3 21/08/2012 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula 3 Agenda O processo de desenvolvimento de software Processo Unificado e as fases do Processo Unificado Requisitos

Leia mais

Métodos de implementação de linguagens. Kellen Pinagé

Métodos de implementação de linguagens. Kellen Pinagé Métodos de implementação de linguagens Kellen Pinagé Sumário Métodos de implementação de linguagens Compilação Interpretação pura Híbrido Métodos de implementação de linguagens Principais componentes de

Leia mais

MODELOS DE PROCESSO TÉCNICAS INTELIGENTES QUE APOIAM A CONSTRUÇÃO DE UM SOFTWARE

MODELOS DE PROCESSO TÉCNICAS INTELIGENTES QUE APOIAM A CONSTRUÇÃO DE UM SOFTWARE MODELOS DE PROCESSO TÉCNICAS INTELIGENTES QUE APOIAM A CONSTRUÇÃO DE UM SOFTWARE Ana Paula Carrion 1, Claudete Werner 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil anapaulacarrion@hotmail.com,

Leia mais

Puca Huachi Vaz Penna

Puca Huachi Vaz Penna BCC201 Introdução à Computação Turmas 31, 32 e 33 Puca Huachi Vaz Penna Departamento de Computação Universidade Federal de Ouro Preto http://www.decom.ufop.br/puca puca@iceb.ufop.br Aula 2 Introdução:

Leia mais

Engenheiros de software (algumas vezes conhecidos no mundo da TI como engenheiros de sistemas ou analistas ) e outros interessados no projeto

Engenheiros de software (algumas vezes conhecidos no mundo da TI como engenheiros de sistemas ou analistas ) e outros interessados no projeto ... definem tarefas que levam a um entendimento de qual ser ao impacto do software sobre o negócio, o que o cliente quer e como os usuários finais irão interagir com o software. (Pressman, 2011) Prof.

Leia mais

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Pensando em Paralelo Pensar em paralelo é uma tarefa que exige disciplina

Leia mais