Engenharia de Software

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

Introdução a Engenharia de Software

Engenharia de Software

Engenharia de Software

ENGENHARIA DE SOFTWARE

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

Introdução à Engenharia de Software

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE PROFA. REANE FRANCO GOULART

Engenharia de Software

Engenharia de Software

FATORES E MÉTRICAS DE QUALIDADE

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 Profa. Elisa Yumi Nakagawa 1 o semestre de 2016

Qualidade de software. Prof. Emiliano Monteiro

O SWEBOK (2004) Guide to the SoftWare Engineering Body of Knowledge (SWEBOK) Editores: Patrocinadores: Alain Abran. James W. Moore.

TESTES DE SOFTWARE 1. Fundamentos sobre testes de software

Engenharia de Software II

ENGENHARIA DE SOFTWARE. Introdução

QUALIDADE DE SOFTWARE. Prof. Emiliano Monteiro

Engenharia de Software: Uma Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1 o semestre de 2015

FUNDAMENTOS DE ENGENHARIA DE SOFTWARE. Professor: Paulo Vencio

Estratégias de Testes Parte I

PROCESSO DE SOFTWARE

Introdução INTRODUÇÃO AO SWEBOK. Origens do corpo de conhecimentos da Engenharia de Software: Introdução a Computação e Engenharia de Software

Tópicos desta Aula: O que é Engenharia de Software? O que é Software? Para que serve? Qual sua importância?

Engenharia de Software

QUALIDADE DE SOFTWARE

Engenharia de Software II

Normas ISO:

Desenvolvimento de Projetos

Processos de software

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves

Por que estudar Engenharia de Software AULA PROF. ABRAHAO LOPES

ISO/IEC Prof. Alexandre Luís Franco

Engenharia de Software

Engenharia de Software I - Aula 02

Qualidade de Software: Visão Geral. SSC 121-Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software

1. Engenharia de Software: conceitos básicos

ENGENHARIA DE SOFTWARE

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016

Organização para Realização de Teste de Software

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

Ciência da Computação ENGENHARIA DE SOFTWARE. Capítulo 1 Introdução

Engenharia de Software I

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Engenharia de Software. Herbert Rausch Fernandes

Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias

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

Engenharia de Requisitos

ENGENHARIA DE SOFTWARE

Qualidade de Software: Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa

ISO/IEC 12207: Manutenção

Teste de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

- 1ª Lista de Exercícios -

Testes de Software. Prof. Edjandir C. Costa

Visão Geral de Engenharia de Software

Rational Unified Process (RUP)

Verificação e Validação. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

3. Engenharia dos requisitos de software

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

Teste de Software. Prof. Camila. Pedro de Assis Sobreira Jr.

Verificação e Validação (V & V)

Engenharia de Software Sistemas Sociotécnicos

Transcrição:

Engenharia de Software

Tópico 1 - Visão Geral da Engenharia de Software Sistemas Computacionais o Definição e conceitos básicos o Evolução do desenvolvimento Natureza do produto software Definição de Engenharia de Software

Uma empresa de software de sucesso é aquela que consistentemente produz software de qualidade que vai ao encontro das necessidades dos seus clientes. Uma empresa que consegue desenvolver tal software, de forma previsível, cumprindo os prazos, com uma gestão de recursos, quer humanos quer materiais, eficiente e eficaz, é uma empresa que tem um negócio sustentável. Booch, Rumbaugh e Jacobson

Sistema Um sistema é um grupo de componentes inter-relacionados que trabalham rumo a uma meta comum, recebendo insumos e produzindo resultados em um processo organizado de transformação. Componentes de um Sistema Feedback e Controle Entrada Processamento Saída

Sistema de Informação Computadorizado, ou simplesmente, Sistema de Informação...Pode ser definido como o processo de transformação de dados em informações que são utilizadas na estrutura decisória da empresa e que proporcionam a sustentação administrativa visando à otimização dos resultados esperados (Rezende, 2002).

Sistema de Informação Computadorizado, ou simplesmente, Sistema de Informação (continuação) Informação: é todo o dado trabalhado, útil, tratado, com o valor significativo atribuído ou agregado e com um sentido natural e lógico para quem o usa. Dado: é compreendido como um elemento da informação, um conjunto de letras, números ou dígitos, que tomado isoladamente não transmite nenhum conhecimento

Sistema de Informação Computadorizado, ou simplesmente, Sistema de Informação (continuação) Características: Grande volume de dados e informações; Complexidade de processamento; Muitos clientes e / ou usuários envolvidos; Contexto abrangente, mutável e dinâmico; Interligação de diversas técnicas e tecnologias; Suporte a tomada de decisões empresariais; Auxílio na qualidade, produtividade e competitividade organizacional.

O sistema de informação é um sistema sócio-técnico cujos componentes são indivíduos, tarefas e equipamentos necessários ao seu funcionamento Implantar um sistema de informação em uma Organização equivale a nela intervir visando a uma mudança.

Componentes de um Sistema de Informática ENTRADAS Pessoas Documentos Procedimentos Hardware Software Hardware Base de Dados Sistema Pessoas Software Banco de dados SAÍDAS Documentos de diversas naturezas Procedimentos manuais que se integram aos automatizados

Software É a parte programável de um sistema de informação. Ele é um elemento central: realiza estruturas complexas e flexíveis que trazem funções, utilidade e valor ao sistema. O software pode ser: Genérico desenvolvido para ser vendido para uma gama de clientes diferentes. Encomendado (personalizado) desenvolvido para um único cliente, de acordo com a sua especificação.

Atributos de um bom Software O software deve entregar a funcionalidade e desempenho exigidos pelo usuário e deve ser manutenível, digno de confiança e utilizável. Manutenibilidade - O software deve evoluir para alcançar necessidades de mudança; Confiabilidade - O software deve ser confiável; Eficiência - O software não deve desperdiçar recursos do sistema; Usabilidade - O software deve ser usável pelos usuários para os quais ele foi projetado.

A importância dos softwares As economias de TODAS as nações desenvolvidas dependem de software; Mais e mais sistemas são controlados por software; O gasto com engenharia de software representa uma parte significativa do PIB em todos os países desenvolvidos; Os custos de software freqüentemente dominam os custos do sistema; Os custos de software são maiores para mantê-lo do que para desenvolvê-lo.

Problemas dos Sistemas de Informática: Não fazem o que deveriam fazer; São caros; São entregues tarde demais; São de baixa qualidade (cheios de defeitos, difíceis de usar e lentos).

Origem dos problemas dos Sistemas de Informação Falta de treinamento das pessoas que operam; Processos de negócios inadequados; Deficiências da tecnologia; Falta de empenho dos órgãos de topo das organizações; Falta de comprometimento e empenho dos usuários; Incompreensão do valor dos sistemas de informação; Falta de entendimento entre o pessoal da Informática e os usuários; Deficiências no processo de desenvolvimento; Falhas na coordenação do projeto; Mudanças freqüentes dos requisitos do negócio.

Definição da Engenharia de Software Uma das definições mais utilizada hoje em dia foi proposta pelo Institute of Electrical and Electronics Engineering (IEEE) em 1993, e defende que "a Engenharia de Software é a aplicação de um processo sistemático, disciplinado, e quantificado ao desenvolvimento, operação e manutenção de software; ou seja, a Engenharia de Software é a aplicação de técnicas de engenharia ao software". A Engenharia de Software preocupa-se com as teorias, os métodos e as ferramentas para o desenvolvimento profissional de software. Seu objetivo é o desenvolvimento e operação de um produto (software).

Desafios enfrentados pela Engenharia de Software Lidar com sistemas legados, lidar com diversidade crescente e lidar com necessidades de tempos de entrega reduzidos. Sistemas legados - Sistemas velhos e valiosos devem ser mantidos e atualizados; Heterogeneidade - Os sistemas são distribuídos e incluem uma combinação de hardware e software; Entrega - Há uma pressão crescente para entrega mais rápida do software.

Mitos e Realidades no Desenvolvimento de Software Mito Minha equipe tem as ferramentas mais atuais de Engenharia de Software e os melhores computadores. Realidade Não basta!!! Mesmo a melhor ferramenta não pode fazer um desenvolvedor medíocre se tornar um bom desenvolvedor.

Mitos e Realidades no Desenvolvimento de Software (continuação) Mito O problema de atraso no cronograma pode ser resolvido aumentando a equipe. Realidade Não são todas as tarefas que podem ser divididas. Novas pessoas precisam ser treinadas pelas pessoas que já estão no projeto. Acrescentar mais pessoas a um projeto atrasado pode fazer com que ele se atrase ainda mais.

Mitos e Realidades no Desenvolvimento de Software (continuação) Mito Todos os programadores são iguais. Todos os programadores experientes têm as mesmas habilidades. Realidade Programadores com a mesma experiência podem ser bastante diferentes.

Mitos e Realidades no Desenvolvimento de Software (continuação) Mito O programa está 95% pronto. Realidade Programadores são extremamente otimistas. Programadores costumam acreditar na própria capacidade de resolver problemas de forma imediata, mesmo na contínua evidência do contrário.

Mitos e Realidades no Desenvolvimento de Software (continuação) Mito Para iniciar a programação basta uma identificação geral dos objetivos. Os detalhes podem ser identificados depois. Realidade A falta de identificação adequada dos objetivos é a principal causa de fracasso de projetos. A descrição detalhada dos requisitos de informação, funções, desempenho e interface, das restrições de projeto e dos critérios de validação é essencial e deve ser feita com o usuário/cliente.

Mitos e Realidades no Desenvolvimento de Software (continuação) Mito Requisitos mudam continuamente, mas mudanças no software podem ser feitas rapidamente porque o software é flexível. Realidade Requistos mudam continuamente, mas o impacto das mudanças varia de acordo com o momento em que estas ocorrem.

Mitos e Realidades no Desenvolvimento de Software (continuação) Mito Enquanto não se tem um programa rodando avaliar a sua qualidade. não é possível Realidade O software pode ser avaliado desde a sua concepção através de revisões que são mais efetivas do que testes.

Mitos e Realidades no Desenvolvimento de Software (continuação) Mito O único produto de um projeto de desenvolvimento de software é um programa funcionando. Realidade Um programa funcionando é apenas parte de uma configuração do software que inclui programa, documentação e dados. A documentação é a base para um proheto bem sucedido e guia para a manutenção de software.

Engenharia de Sistemas x Engenharia de Software A engenharia de sistemas preocupa-se com todos os aspectos do desenvolvimento de sistemas baseados em computador, incluindo hardware, software e engenharia de processos. A engenharia de software faz parte desse processo. Engenheiros de sistemas estão envolvidos na especificação, projeto arquitetural, integração e desenvolvimento de sistemas.

Atividades associadas à Engenharia de Software Concepção Implementação Manutenção Ao longo de cada fase existem tarefas, subprodutos a desenvolver, pontos de verificação e intervenientes. Existe também um conjunto de atividades de suporte contínuas: gestão de projeto, controle de qualidade, gestão da configuração, elaboração de documentação, elaboração de estimativas, gestão do risco, entre outras.