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

Documentos relacionados
ENGENHARIA DE SOFTWARE

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

Introdução a Engenharia de Software

Engenharia de Software

Engenharia de Software

Engenharia de Software I - Aula 02

Introdução à Engenharia de Software

Engenharia de Software

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

Engenharia de Software I

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

ENGENHARIA DE SOFTWARE

Prof. Dr. Thiago Jabur Bittar

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

FUNDAMENTOS DE ENGENHARIA DE SOFTWARE. Professor: Paulo Vencio

Processos de software

AN INTRODUCTION TO SOFTWARE ENGINEERING

Engenharia de Software

ENGENHARIA DE SOFTWARE PROFA. REANE FRANCO GOULART

- 1ª Lista de Exercícios -

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

ENGENHARIA DE SOFTWARE

Engenharia de Requisitos

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS

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

ENGENHARIA DE SOFTWARE. Introdução

Material Disciplina Tópicos em Engenharia de Software Parte 1 (Introdução aos Conceitos Engenharia de Software) Prof. Wagner Santos C.

Douglas O. Cardoso docardoso.github.io

Engenharia de Requisitos

Engenharia de Software

Engenharia de Software

Princípios da Engenharia de Software aula 03

Introdução a Engenharia de Software

Engenharia de Software Processo de Desenvolvimento de Software

Prof. Esp. Fabiano Taguchi

Processos de Software

Falha de Comunicação no Desenvolvimento de Software

SOCIEDADE PARANAENSE DE ENSINO E TECNOLOGIA SPET PROGRAMA DE EVOLUÇÃO CONTÍNUA DE QUALIDADE. ES 60 DISCIPLINA: Engenharia de Software II

Engenharia de Software. Gerenciamento de Pessoal. Professor Joerllys Sérgio

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

Engenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP

Documentação de Software. Simone Vasconcelos

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Prof. Fabiano Papaiz IFRN

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

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

3. Engenharia dos requisitos de software

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

Ciclo de vida: fases x atividades

PDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno

Documento de Requisitos*

Professor Emiliano S. Monteiro

Escolhendo um Modelo de Ciclo de Vida

Prof. Luiz A. Nascimento

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

O Processo da Engenharia de Requisitos

Desenvolvimento de Projetos

Definições e ciclo de vida

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

Informática I. Aula Aula 21-29/11/06 1

Engenharia de Software

Engenharia de Software II

Engenharia de Software 1

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

CICLO DE VIDA DE SOFTWARE

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

ENGENHARIA DE REQUISITOS

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

Ferramenta de apoio a Documentação de Requisitos de Software. Odair José ALUNO. Prof. Everaldo Artur Grahl ORIENTADOR

Engenharia de Software. Projeto de Arquitetura

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

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

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

Ciclo de Vida de Sistemas de Informação

Reuso de Software Aula Maio 2012

Requisitos de Software

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

Desenvolvimento Ágil de Software

Gerencial Industrial ISO 9000

LIVRO ENGENHARIA DE SOFTWARE FUNDAMENTOS, MÉTODOS E PADRÕES

Visões Arquiteturais. Visões Arquiteturais

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

ISO/IEC Prof. Alexandre Luís Franco

Engenharia de Software: Uma Visão Geral. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

06/02/2014. Engenharia de requisitos. Requisitos de Software. Capítulo 6. O que é um requisito? Objetivos. Abstração de requisitos (Davis)

ENGENHARIA DE REQUISITOS. SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa

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

ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Campus: Data: / / Nome:

Módulo Contexto da organização 5. Liderança 6. Planejamento do sistema de gestão da qualidade 7. Suporte

Requisitos de Software

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

Planejamento e Gerência de Projetos

Transcrição:

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

Objetos Introduzir Engenharia de Software e mostrar sua importância. Apresentar respostas para questões chave em engenharia de software. Introduzir questões éticas e profissionais e explicar porque precisam ser consideradas por engenheiros de software.

ENGENHARIA DE SOFTWARE

Engenharia de Software As economias de todas as nações desenvolvidas são dependentes de software. Cada vez mais sistemas são controlados por software. Engenharia de Software baseia-se em teorias, métodos e ferramentas para o desenvolvimento profissional de software. Gastos com software representam uma parcela significativa do orçamento de países desenvolvidos.

Custos de Software Custos de software são geralmente dominantes em sistemas. Os custos de software em um PC são usualmente maiores do que os custos de hardware. É mais caro manter um software do que desenvolvê-lo. Para sistemas com longa vida, custos de manutenção podem ser muitas vezes maiores do que os custos de desenvolvimento. Engenharia de Software tem como foco o desenvolvimento de software com custos proporcionais a sua efetividade.

O que é Software? Programas de computador e documentação associada tais como requisitos, modelos de projeto e manuais de uso. Produtos de software podem ser desenvolvidos para clientes particulares ou para um mercado mais geral. Software pode ser criado a partir do desenvolvimento de novos programas, configurando sistemas de software genéricos ou reusando software existente.

O que é Engenharia de Software? Disciplina de engenharia que trata de todos os aspectos da produção de software. Engenheiros de software devem adotar uma abordagem sistemática e organizada e usar ferramentas e técnicas apropriadas dependendo do problema a ser resolvido, das restrições de desenvolvimento e dos recursos disponíveis.

Qual a diferença entre engenharia de software e ciência da computação? Ciência da computação trata da teoria e fundamentos; engenharia de software trata das práticas de desenvolvimento e disponibilização de software. Teorias de ciência da computação ainda são insuficientes para servir como um alicerce completo para engenharia de software (diferentemente, por exemplo de demais engenharias).

Qual a diferença entre engenharia de software e engenharia de sistemas? Engenharia de sistemas trata de todos os aspectos de sistemas baseados em computador, incluindo hardware, software e processos de engenharia. Engenharia de software é uma parte deste processo que trata do desenvolvimento da infraestrutura de software, controle, aplicações e bases de dados do sistema. Engenheiros de sistemas são responsáveis pela especificação, projeto arquitetural, integração e disponibilização de sistemas.

O que é um processo de software? Um conjunto de atividades cuja meta é desenvolvimento ou evolução de software. São atividades genéricas em um processo de software: Especificação - o que o sistema deve fazer quais as restrições de desenvolvimento; Desenvolvimento - produção do sistema de software; Validação - Avaliação do software com relação às demandas do seu cliente; Evolução - Modificações no software em resposta a demandas.

O que é um modelo de processo de software? Uma representação simplificada de um processo de software, apresentada de acordo com uma perspectiva específica. São exemplos de perspectivas de processo: Workflow - sequência de atividades; Data-flow - fluxo de informação; Role/action - quem faz o que. Modelos genéricos de processo: Waterfall (Modelo Cascata); Desenvolvimento iterativo; Engenharia de software baseada em componentes.

Quais são os custos de engenharia de software? Geralmente 60% são custos de desenvolvimento e 40% são custos de teste. Para software de particulares, os custos de evolução usualmente excedem os custos de desenvolvimento. Custos variam de acordo com o tipo de sistema sendo desenvolvido e os requisitos de seus atributos tais como performance e confiabilidade. Custos de distribuição dependem do modelo de desenvolvimento que está sendo usado.

O que são métodos de engenharia de software? Abordagens estruturadas para o desenvolvimento de software que incluem modelos de sistemas, notações, regras, dicas de projeto e guias de processo. Descrições de modelos Descrições de modelos gráficos que devem ser produzidos; Regras Restrições aplicadas a modelos do sistema; Recomendações Sugestões sobre boas práticas de projeto; Guias de Processo Que atividades seguir.

O que é CASE (Computer-Aided Software Engineering) Sistemas de software que objetivam prover suporte automático para atividades de processo de software. Ferramentas CASE são adotadas para dar suporte a métodos. Upper-CASE Ferramentas de suporte a atividades iniciais do processo como análise e projeto de software; Lower-CASE Ferramentas de suporte a atividades terminais do processo como programação, depuração e *teste.

Quais são os atributos de um software de qualidade? O software deve prover a funcionalidade e performance requerida e deve ser manutenível, confiável e aceitável. Manutenibilidade Software deve permitir a incorporação de mudanças; Confiabilidade Software deve apresentar comportamento correto e consistente; Eficiência Software não deve fazer mal uso de recursos do sistema; Aceitabilidade Software deve ser aceitável por usuários para os quais foi projetado. Isto significa ser entendível, usável e compatível com outros sistemas.

Quais são os maiores desafios da engenharia de software? Heterogeneidade Técnicas de desenvolvimento que possam lidar com plataformas e ambientes de execução heterogêneos. Entrega Técnicas de desenvolvimento que possam facilitar a entrega rápida do software. Confiança Técnicas de desenvolvimento que possam demonstrar sua confiabilidade a usuários.

ÉTICA PROFISSIONAL

Responsabilidade Ética e Profissional Engenharia de software envolve mais responsabilidade do que habilidades para aplicações de técnicas. Engenheiros de software devem se portar de forma ética e responsável a fim de serem respeitados como profissionais. Comportamento ético é mais do que simplesmente cumprir a lei.

Responsabilidade Profissional Confidencialidade Engenheiros devem normalmente respeitar a confidencialidade de seus empregadores ou clientes independente da existência de um contrato assinado de confidencialidade. Competência Engenheiros devem ser fiéis ao apresentar seu nível de competência. Devem aceitar trabalho apenas dentro do escopo de sua própria competência.

Responsabilidade Profissional Propriedade Intelectual Engenheiros devem estar cientes das leis que governam o uso de propriedade intelectual tais como patentes, copyright, etc. Devem ser cautelosos a fim de garantir que propriedade intelectual de empregadores e clientes está protegida. Uso de Computadores Engenheiros de software não devem usar habilidades técnicas para mal uso de computadores de terceiros. Mal uso varia de trivial (jogos na máquina do empregador) a extremamente sérios (disseminação de vírus).

Dúvidas?

Atividade 1. Fale sobre engenharia de software? 2. Em sua opinião, o que é software? 3. O que você entende sobre engenharia de sistemas? 4. O que é um processo de software e quais são suas atividades genéricas? 5. Quais são os atributos de um software de qualidade?