ANÁLISE E PROJETO DE SISTEMAS

Documentos relacionados
Introdução à. Modelagem de Software

Engenharia de Software

Engenharia de Software

Introdução à Engenharia de Software

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

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

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

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

Introdução à Computação

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

GARANTIA DA QUALIDADE DE SOFTWARE

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

Introdução a Engenharia de Software. Alterações na aula do Prof. Reinaldo Bianchi Alterado por: Antonio Carlos Souza ADS - IFBA

Tópicos. Engenharia de Software: Uma Visão Geral

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

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

c. Técnica de Estrutura de Controle Teste do Caminho Básico

Introdução à. Engenharia de Software. Givanaldo Rocha de Souza

Introdução a Computação

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com

Sistemas de Gerenciamento de Banco de Dados

Fundamentos de Engenharia de Software. Josino Rodrigues

Processos de Desenvolvimento de Software

Engenharia de Software

PROFESSOR: CRISTIANO MARIOTTI

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião

Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental

Especialização em Engenharia de Software e Banco de Dados

O Processo de Desenvolvimento de Software. Engenharia de Software

! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico. " Crise do Software

ENGENHARIA DE SOFTWARE

Sistemas de Informação I

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

Requisitos. Sistemas de Informações

Modelo Cascata. Alunos: Bruno Nocera Zanette Pedro Taques

Engenharia de Software Unidade I Visão Geral

Professor: Curso: Disciplina:

Unidade I Conceitos BásicosB. Conceitos BásicosB

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

CHECK - LIST - ISO 9001:2000

A qualidade é relativa. O que é qualidade para uma pessoa pode ser falta de qualidade para outra.

Engenharia de Software

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE CONFIGURAÇÃO

Introdução à Qualidade de Software. Profº Aldo Rocha

Engenharia de Software I. Prof. André Castro Garcia

Engenharia de Requisitos

Engenharia de Requisitos Estudo de Caso

Pós Graduação Engenharia de Software

Unidade VI. Validação e Verificação de Software Teste de Software. Conteúdo. Técnicas de Teste. Estratégias de Teste

PROJETO DE SISTEMAS. Professora Lucélia

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Qualidade de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás

Projeto Você pede, eu registro.

MODELO CMM MATURIDADE DE SOFTWARE

Universidade Paulista

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

a) Teste das funções do sistema com outros sistemas b) Teste de componentes que em conjunto compõem a função do sistema

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

1. NÍVEL CONVENCIONAL DE MÁQUINA

Engenharia de Software

Teste de Software. Prof. Wylliams Barbosa Santos Laboratório de Programação

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

Teste de Software. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites. Objetivos e Limites

Metodologia de Desenvolvimento de Sistemas

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0

Engenharia de Software

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Engenharia de Software

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Prof. Marcelo Henrique dos Santos

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br

ISO/IEC 12207: Gerência de Configuração


FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

ENGENHARIA DE SOFTWARE I

Como melhorar a Qualidade de Software através s de testes e nua. Cláudio Antônio de Araújo 22/11/2008

Processos de Software

ERP Enterprise Resource Planning

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

Desenvolvimento de Sistemas Tolerantes a Falhas

Princípios da Engenharia de Software Aula 02. Prof.: Franklin M. Correia

Projeto de Sistemas I

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

Introdução à ES - Continuação

Project and Portfolio Management [PPM] Sustainable value creation.

Faculdade Pitágoras. Engenharia de Software. Prof.: Julio Cesar da Silva.

Sistemas ERP. Profa. Reane Franco Goulart

! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico. " Crise do Software

Transcrição:

UFU Universidade Federal de Uberlândia ANÁLISE E PROJETO DE SISTEMAS INTRODUÇÃO A ENGENHARIA DE SOFTWARE Professora: Fabíola Gonçalves.

AGENDA Introdução à Engenharia de Software Características do Software Comunicação no desenvolvimento de Software O que é Engenharia de Software Qualidade versus Incidentes Aplicações Importância do Software Princípios de Engenharia de Software

O QUE É SOFTWARE? Programas de computador, juntamente com as estruturas de dados e documentação associada. Software de computador é o produto que os profissionais de software constroem e, depois, mantém ao longo do tempo. Abrange desde programas que executam em computadores de qualquer tamanho e arquitetura a sistemas embutidos.

O QUE É SOFTWARE? Onipresença / DEPENDÊNCIA de computadores Computador "=" Software Quem o faz/desenvolve? Qual sua importância? Qual o produto do trabalho dos elaboradores de um software?

SOFTWARE Primeiras décadas da era do computador.. Hoje o problema é diferente, o principal desafio desta década é melhorar a qualidade e reduzir o custo das soluções baseadas em computador, ou seja, que são resolvíveis com softwares de computador.

SOFTWARE Evolução do Software...

CARACTERÍSTICAS DO SOFTWARE Pontos chaves: Comunicação entre o clientes e desenvolvedores Devemos entender o que o cliente quer e quais são as suas necessidades, antes de começarmos a construir um sistema que o ajude a resolver seus problemas. Número de pessoas trabalhando em um projeto?

CARACTERÍSTICAS DO SOFTWARE Boa Comunicação? Por quê? QUALIDADE..

PROBLEMAS COM SOFTWARE *

FALHAS EM SOFTWARE Ariane Custo: $500 milhões Desastre: Ariane 5, o mais novo foguete da Europa nãotripulado, foi intencionalmente destruído segundos após seu lançamento em seu vôo inaugural. Também foram destruídos quatro satélites científicos para estudar como o campo magnético da Terra interage com os ventos solares. Causa: O desligamento ocorreu quando o computador de orientação tentou converter a velocidade do foguete de 64- bits para um formato de 16 bits. O número era muito grande, o que resultou em erro de estouro. Quando o sistema de orientação desligou, o controle passou para uma unidade idêntica redundante, que também falhou porque nele estava correndo o mesmo algoritmo.

FALHAS EM SOFTWARE 3ª Guerra Mundial (Quase!) (1983) Custo: Quase toda a humanidade Desastre: O sistema de alerta soviético falsamente indicou que os Estados Unidos tinham lançado cinco mísseis balísticos. Felizmente, o oficial de serviço soviético tinha uma sensação esquisita no estômago e fundamentalmente, se os EUA estavam realmente atacando, eles lançariam mais de cinco mísseis, por isso ele relatou o aparente ataque como um alarme falso. Causa: Um bug no software soviético falhou ao detectar reflexos solares como falsos mísseis.

QUALIDADE?

CARACTERÍSTICAS DO SOFTWARE O software é um elemento de um sistema lógico e não de um sistema físico.. O software é desenvolvido; não é fabricado no sentido clássico. O software não se desgasta: o software não é suscetível aos males ambientais que causam desgastes. Natureza MUTÁVEL do SW

ATRIBUTOS DE UM BOM SOFTWARE Facilidade de manutenção: um software deve ser escrito de modo que possa evoluir para atender as necessidades mutáveis dos clientes. Nível de confiança: incluem confiabilidade, proteção e segurança. Um software confiável não deve ocasionar danos físicos ou econômicos, no caso de defeito no sistema. Eficiência: inclui rapidez de resposta, o tempo de processador, a utilização da memória, entre outros. Facilidade de uso: deve dispor de interface apropriada com o usuário e de documentação adequada.

APLICAÇÕES DE SOFTWARE industrial automation business software video games telecommunications (i.e., the Internet and everything that flows on it) databases educational software medical software image editing simulation software, word processing e Decision making software

IMPORTÂNCIA DO SOFTWARE 98% dos microprocessadores não estão nos computadores, mas embutidos em produtos

MERCADO DO SOFTWARE 2008: U$303bi 2013: U$457bi 40% em 5 anos!!! Carros modernos da GM possuem 100 milhões de linha de código e mais de 30 microprocessadores. Modernos celulares possuem 20 milhões de linha de código.

CRISE DO SOFTWARE Conferência da NATO (1968) Crise de Software Preço do hardware cai Maior demanda por software Baixa produtividade e qualidade: Projetos abandonados, Módulos que não operam corretamente quando combinados, Sistemas tão difíceis de usar que são descartados, Sistemas que simplesmente param de funcionar., etc. Resultado: Software entregue fora do prazo e com maior custo Grandes falhas

CRISE DO SOFTWARE - SOLUÇÃO Métodos e técnicas: como fazer (processo de software). Combinar métodos para a fase de desenvolvimento. Ferramentas para automatizar estes métodos. Técnicas para assegurar qualidade (Engenharia de Software). Interesse do governo em treinamentos e educação

POR QUE ENGENHARIA DE SOFTWARE? Termo criado em 1968 Ideia de usar processos e métodos bem definidos, quantificáveis, formais, para desenvolvimento de software Aplicação de conceitos de engenharia ao desenvolvimento de software Definições:

ENGENHARIA DE SOFTWARE Aplicação de uma abordagem sistemática, disciplinada e quantificável para o desenvolvimento, operação e manutenção do software. IEEE

ENGENHARIA DE SOFTWARE Engenharia é a aplicação sistemática de conhecimentos científicos na criação e construção de soluções com um bom custo-benefício para a resolução de problemas práticos da sociedade. SEI

ÁREAS DA ENGENHARIA DE SOFTWARE

PRODUTO E PROCESSO DE SOFTWARE A engenharia de software abrange um conjunto de elementos Métodos: fornecem os detalhes de como fazer para construir softwares... Ferramentas: apoio automatizado ou semi-automatizado. Procedimentos: definem a sequência em que os métodos são aplicados, os produtos a serem disponibilizados, controles de qualidade e avaliação. Paradigmas: abordagem ou filosofia em particular para a construção de software.

RESPONSABILIDADE E ÉTICA

RESPONSABILIDADE E ÉTICA Dilemas/Pontos de vista divergentes Discordar políticas da alta gerência? Relatar problemas com o software? Liberação de sw sem testes? SW militares/nucleares?

MITOS DO SOFTWARE? Se nos atrasarmos no planejamento, podemos adicionar mais programadores. O estabelecimento geral de objetivos é suficiente para iniciar o desenvolvimento do software podemos fornecer os detalhes posteriormente.

MITOS DO SOFTWARE Quando escrevemos um programa e o fazemos funcionar, nosso trabalho está completo. Até que eu esteja com o programa funcionando não tenho como avaliar sua qualidade.

PRINCÍPIOS DE SOFTWARE Objetivo SUCESSO no desenvolvimento Envolve tanto PRODUTO quanto PROCESSO GENÉRICOS INDEPENDENTES de linguagem/bd/so e etc Princípios de Software: declarações gerais e abstratas que descrevem as propriedades desejadas dos processos de desenvolvimento e dos produtos de software.

PRINCÍPIOS DE SOFTWARE

PRINCÍPIOS DE SOFTWARE Rigor e Formalismo Desenvolvimento SW artesanal CRIATIVO INSPIRAÇÃO RIGOR Complemento à criatividade

PRINCÍPIOS DE SOFTWARE Modularização Modular?? Dividir complexidade Facilitar manutenção Bastante COESÃO Pouca INTERRELAÇÃO

PRINCÍPIOS DE SOFTWARE Abstração Acompanha todo e qualquer processo de implementação ou programação. As linguagens de programação que utilizamos nada mais são do que construções abstratas para representar soluções ou interagir com o hardware.

PRINCÍPIOS DE SOFTWARE Generalização versus Decomposição Focar na descoberta de um problema mais geral que possa existir por trás do problema. Capacidade de solucionar problemas mais e associa-los em módulos comuns. Reusabilidade (outro príncipio)

PRINCÍPIOS DE SOFTWARE Incrementabilidade A incrementabilidade é o princípio que busca a perfeição ou a obtenção dos objetivos através de passos que evoluem (ou são incrementados) ao longo do tempo.