15/03/2018. Professor Ariel da Silva Dias Introdução a Engenharia de Software. O mundo moderno poderia existir sem software?

Documentos relacionados
ENGENHARIA DE SOFTWARE

Introdução a Engenharia de Software

Engenharia de Software I - Aula 02

ENGENHARIA DE SOFTWARE

Introdução a Engenharia de Software. Professor Joerllys Sérgio

Engenharia de Software

Engenharia de Software

QUALIDADE DE SOFTWARE. Princípios de Engenharia de Software

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

Engenharia de Software I

AULA. Processamento de Dados

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 01 PROFª BRUNO CALEGARO

Introdução à Ciência da Computação

Gestão de Segurança da Informação. Interpretação da norma NBR ISO/IEC 27001:2006. Curso e Learning Sistema de

Falha de Comunicação no Desenvolvimento de Software

ENGENHARIA DE SOFTWARE. Aula 17 Reuso de software

Prof. Luiz A. Nascimento

Requisitos de Sistemas

Definição IHC. Disciplina ou campo de estudo interessada no design, implementação e avaliação de sistemas computacionais interativos para uso humano.

ENGENHARIA DE SOFTWARE. Introdução

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

FUNDAMENTOS DE ENGENHARIA DE SOFTWARE. Professor: Paulo Vencio

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Prof. Fabiano Papaiz IFRN

Tópicos da Aula. O que é anunciado. Falha de Comunicação no Desenvolvimento de Software. Engenharia de Software: Conceitos Fundamentais

Qualidade de software. Prof. Emiliano Monteiro

Banco de Dados. SGBDs. Professor: Charles Leite

Conceitos Básicos. Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI. Disciplina: Banco de Dados

Fundamentos. É um conjunto de operações que são aplicadas sobre determinadas informações para transformá-las em outras, ou gerar novas informações.

ENGENHARIA DE SOFTWARE

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

AN INTRODUCTION TO SOFTWARE ENGINEERING

Engenharia de Software

UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Curso de Eng. Química Disciplina: FACOM39017 (Alg. Prog. de Computadores) Fundamentos

ENGENHARIA DE SOFTWARE PROFA. REANE FRANCO GOULART

2017/2018 Capítulo 1 Introdução

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS

S11 - Software e Engenharia de Software

Gerenciamento de Projetos

ENGENHARIA DE SOFTWARE

PROJETO DE UM MODELO DE UM CONVERSOR ANALÓGICO DIGITAL PARA SOC S

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

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

Introdução à Programação Aula 01. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Reúso de Software. Adaptado de. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide by Pearson Education

Sis i te t mas a O perac a i c o i nai a s um p ouco c d a a h is i tó t ria i. a... SO His i t s ó t r ó ic i o

O que é um sistema distribuído?

Engenharia de Software

Aula 1: Apresentação, Computação Corporativa

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

P R O C E SSO D E D E S E N VOLVIMENTO D E S O F T WAR E

Desenvolvimento de Projetos

RUP Unified Process. Profª Jocelma Rios

Engenharia de Software

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

Software: na visão da ES

Grupo de Usuários Java do Noroeste Paulista. Tópicos Avançados em Java

Introdução. Qual é a importância dos bancos de dados no nosso dia a dia? Imaginem como seria as grandes empresas sem os bancos de dados?

Engenharia de Software: Visão Geral

Princípios da Engenharia de Software aula 03

Projeto de Arquitetura

Projeto orientado a objetos

Engenharia de Software I: Aula 03: Conceitos (parte 1)

- Bibliografia: Sistemas de Informação e as Decisões Gerenciais na Era da Internet, de James A. O'Brien.

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE PELOTAS PRÓ-REITORIA DE GRADUAÇÃO PLANO DE ENSINO. Semestre letivo. 1. Identificação Código

INE 5417 Engenharia de Software I

Introdução à Engenharia de Software

QUALIDADE DE SOFTWARE

FTC Faculdade de Tecnologia e Ciências Engenharia Civil 1º Semestre. Conceitos Básicos. Rafael Barbosa Neiva

Requisitos de Sistemas

Engenharia de Software Processo de Desenvolvimento de Software

Professor Emiliano S. Monteiro

Sistemas Embarcados (embutidos) Paulo C. Masiero

Engenharia de Software. Projeto de Arquitetura

SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

Análise de Ponto de Função APF. Aula 07

Prof. Esp. Fabiano Taguchi

Engenharia de Software 1

Tipos de Sistemas Distribuídos

Engenharia de Software I

Introdução a Sistemas Distribuídos

Sistemas de informação aula 03

INTRODUÇÃO A SISTEMAS OPERACIONAIS

Projeto de Desenvolvimento de Software

ISO/IEC Prof. Alexandre Luís Franco

Conceitos computacionais

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

Guia de recursos: produtividade de workstations

Reuso de Software Aula Maio 2012

Teste de Software. Karen Frigo Busolin Novembro / 2010

Transcrição:

O mundo moderno poderia existir sem software? Professor Ariel da Silva Dias Introdução a Engenharia de Software 1

Software Associação de programas de computador e documentação; Atributos de um bom software Prover funcionalidade, o desempenho requerido pelo usuário, ser confiável e fácil de usar; Engenharia de software Disciplina que se preocupa com todos os aspectos de produção de software; Principais atividades da engenharia de software Especificação, desenvolvimento, validação e evolução. O mundo moderno poderia existir sem software? 2

O mundo moderno poderia existir sem software? Características do software Os softwares são abstratos; Intangíveis; Não existe limites naturais para o potencial do software; Devido a estas características, o software pode se tornar complexo, difícil de entender e caro para manutenção; 3

Existem vários tipos de sistemas de softwares, para os mais variados fins; Desenvolver um sistema empresarial web... Todos estes sistemas precisam da engenharia de software; Existe um método, notação ou técnica universal para a engenharia de software? Não! Pois diferentes tipos de softwares requerem abordagens diferentes; 4

... é diferente de desenvolver um jogo computacional...... é diferente de desenvolver um software controlador... 5

Completando Existem vários tipos de sistemas de softwares, para os mais variados fins; Temos problemas em desenvolver softwares mais complexos, mas sem a engenharia de software, não teríamos explorado o espaço, não teríamos a internet ou as telecomunicações; Todos estes sistemas precisam da engenharia de software embora nem todos necessitem das mesmas técnicas. 6

Disciplina com foco em todos os aspectos da produção de software Da especificação até a manutenção; Não há preocupação apenas com os processos técnicos do desenvolvimento de software; Engenharia de software é importante pois: Indivíduos e sociedade dependem dos sistemas de software; A longo prazo, é mais barato usar métodos e técnicas de engenharia de software, uma vez que, a maior parte do custo é mudar o software depois que ele já começa a ser usado. Engenharia tem a ver com obter resultado de qualidade requeridos dentro do cronograma e orçamento; 7

Processos de software Especificação de software: definição do software a ser desenvolvido e as restrições de operação; Desenvolvimento de Software: o software é projetado e programado; Validação de Software: é verificado para garantir que é o que o cliente quer; Evolução de Software: o software é modificado para refletir a mudança de requisitos do cliente e do mercado; Diferentes sistemas necessitam de diferentes processos de software Por exemplo, software para controle de aeronave deve ser completamente especificado antes de iniciar o desenvolvimento. 8

Muitas pessoas escrevem programas Planilhas; Programas para registro de dados experimentais; Programas para hobby e diversão; Todavia, o desenvolvimento de software é uma atividade profissional com especificação, projeto e evolução; Um sistema de software é mais do que um programa: Consiste em uma série de programas e arquivos de configuração; Inclui também a documentação do sistema, documentação do usuário, site para acesso dos usuários, entre outros; A engenharia de software apoia o desenvolvimento profissional de software, mais do que a programação individual. 9

Existem dois tipos de produto de software Produtos genéricos; Produtos sob encomenda; Característica importante destes dois tipos: Software Genérico: a organização que o desenvolve controla sua especificação; Software sob Encomenda: a especificação é normalmente desenvolvida e controlada pela empresa que está adquirindo o software; Características essenciais de um sistema profissional de software 10

Existem muitos tipos diferentes de softwares, incluindo Stand-Alone: Aplicações executadas em um computador local. Exemplo: Software de manipulação de fotos; Interativas baseadas em transações: Aplicações que executam em um computador remoto, acessado pelo usuário a partir de seu computador. Exemplo: aplicações de comércio eletrônico, e-mail, compartilhamento de fotos; Controle Embutido: Sistemas que controlam e gerenciam dispositivos de hardware. Exemplo: software em microondas, controle antitravamento de freios em um carro; Existem muitos tipos diferentes de softwares, incluindo Processamento de Lotes: São sistemas para processarem grandes números de dados de entradas individuais para criar as saídas correspondentes. Exemplo: Sistema de cobrança telefônica, cobrança de energia elétrica e emissor de folha de pagamento; Entretenimento: Fornece interação com o usuário a fim de entretê-lo. Exemplo: jogos de diferentes tipos; Modelagem e Simulação: sistemas criados para modelar processos ou situações físicas. Exemplo: Simuladores de voo, Simulador de direção; 11

Existem muitos tipos diferentes de softwares, incluindo Coleta de Dados: São sistemas que coletam dados a partir de um conjunto de sensores e os enviam para outro sistema realizar o processamento. Exemplo: central de meteorologia; Sistemas de Sistemas: Um pacote de software que possui vários sistemas dentro dele. Exemplo: Pacote Office. Não existe uma técnica ou método universal para o desenvolvimento de software, mas existem três aspectos gerais que afetam vários tipos diferentes de softwares citados anteriormente 12

Aspectos gerais Heterogeneidade: O desafio é desenvolver técnicas para construir um software que seja flexível e possa executar em computadores, telefones móveis e tenha possibilidade de integração com outros sistemas mais antigo; Mudança de Negócio e Social: Deve ser possível alterar e/ou desenvolver um software na mesma velocidade que ocorrem as mudanças nos negócios e na sociedade; Segurança e Confiança: Precisamos ter certeza de que os usuários maliciosos não possam atacar nosso software e de que a proteção da informação seja mantida; E para um sistema WEB? uma abordagem baseada em desenvolvimento e entregas iterativas pode ser adequada, com o sistema sendo composto a partir de componentes reusáveis. Estes aspectos não são independentes! 13

SOMMERVILLE, I. Engenharia de Software. 9a edição. Pearson Addison Wesley. 2011 14