A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução à Engenharia de Software FACULDADE DOS GUARARAPES Professor: Rômulo César

Apresentações semelhantes


Apresentação em tema: "Introdução à Engenharia de Software FACULDADE DOS GUARARAPES Professor: Rômulo César"— Transcrição da apresentação:

1

2 Introdução à Engenharia de Software FACULDADE DOS GUARARAPES Professor: Rômulo César

3 Professor n Nome: Rômulo César Dias de Andrade n Mini CV: - Mestrando em Ciência da Computação na Universidade Federal de Pernambuco CIN-UFPE na área de Metodologias Ágeis (em andamento). - Pós-Graduado em Gestão da Tencologia da Informação pela FIR - Faculdade Integrada do Recife (2010). - Possui Graduação em Tecnologia de Sistema da Informação pela FAPE – Faculdade Pernambucana (2008). - Atualmente trabalha na INFOX Tecnologia, lotado no TRF 5ª (Tribunal Regional Federal) como Gestor de Fluxo de Processos/ Analista de Negócios. - Tem 6 anos de experiência de mercado na área de Ciência da Computação, com ênfase em engenharia de software e melhoria de processos. - CV Completo: disponível em - Áreas de Interesse: Engenharia de Software, Análise de Projetos e Sistemas,Gerência de Projetos baseado na metodologias Ágeis (SCRUM), Engenharia de Requisitos e Fluxo de Processos com BPM.

4 Objetivo da aula n Depois desta aula você terá uma revisão sobre o que é a engenharia de software, os seus objetivos e conceitos básicos.

5 Leitura recomendada n Capítulo 1 (Introdução) do livro Engenharia Software 9ª Edição (de Ian Sommerville)

6 O que é a Engenharia de Software? n Estudo ou aplicação de abordagens sistemáticas, econômicas e quantificáveis para o desenvolvimento, operação e manutenção de software de qualidade. n Engenheiros de software devem adotar uma abordagem sistemática e organizada para seu trabalho e usar ferramentas e técnicas/métodos apropriados dependendo do problema a ser solucionado, das restrições de desenvolvimento e dos recursos disponíveis

7 O que é software? n Programas de computador e documentação associada n Produtos de software podem ser desenvolvidos para um cliente particular ou podem ser desenvolvidos para um mercado geral

8 Objetivos da Engenharia de Software n Controle sobre o desenvolvimento de software dentro de custos, prazos e níveis de qualidade desejados n Produtividade no desenvolvimento, operação e manutenção de software n Qualidade versus Produtividade n Permitir que profissionais tenham controle sobre o desenvolvimento de software dentro de custos, prazos e níveis de qualidade desejados

9 Características da Engenharia de Software n A Engenharia de Software se refere a software (sistemas) desenvolvidos por grupos ao invés de indivíduos n usa princípios de engenharia ao invés de arte, e n inclui tanto aspectos técnicos quanto não técnicos

10 O que é um software de qualidade? n O software que satisfaz os requisitos solicitados pelo usuário. Deve ser fácil de manter, ter boa performance, ser confiável e fácil de usar n Alguns atributos de qualidade u Manutenibilidade F O software deve evoluir para atender os requisitos que mudam u Eficiência F O software não deve desperdiçar os recursos do sistema u Usabilidade F O software deve ser fácil de usar pelos usuários para os quais ele foi projetado

11 Qualidade de Software (um exemplo para o Varejo) n Correto u A loja não pode deixar de cobrar por produtos comprados pelo consumidor n Robusto e altamente disponível u A loja não pode parar de vender n Eficiente u O consumidor não pode esperar u A empresa quer investir pouco em recursos computacionais (CPU, memória, rede)

12 Qualidade de Software (um exemplo para o Varejo) n Amigável e fácil de usar u A empresa quer investir pouco em treinamento n Altamente extensível e adaptável u A empresa tem sempre novos requisitos (para ontem!) u A empresa quer o software customizado do seu jeito (interface, teclado, idioma, moeda, etc.) n Reusável u Várias empresas precisam usar partes de um mesmo sistema

13 Qualidade de Software (um exemplo para o Varejo) n Aberto, compatível, de fácil integração com outros sistemas u A empresa já tem controle de estoque, fidelização, etc. n Portável e independente de plataforma (hw e sw) u A empresa opta por uma determinada plataforma n Baixo custo de instalação e atualização u A empresa tem um grande número de PDVs

14 Produtividade n Custo de desenvolvimento reduzido u A empresa consumidora quer investir pouco em software u A empresa produtora tem que oferecer software barato n Tempo de desenvolvimento reduzido u Suporte rápido às necessidades do mercado

15 Software Barato Nem tanto resultado de baixos custos de desenvolvimento, mas principalmente da distribuição dos custos entre vários clientes. Reuso, extensibilidade e adaptabilidade são essenciais para viabilizar tal distribuição.

16 Importância da Engenharia de Software n Qualidade de software e produtividade garantem: u Disponibilidade de serviços essenciais u Segurança de pessoas u Competitividade das empresas F Produtores F Consumidores

17 Mas, na realidade, temos a Crise de Software... n 25% dos projetos são cancelados n o tempo de desenvolvimento é bem maior do que o estimado n 75% dos sistemas não funcionam como planejado n a manutenção e reutilização são difíceis e custosas n os problemas são proporcionais a complexidade dos sistemas

18 Causas da Crise de Software n Essências u Complexidade dos sistemas u Dificuldade de formalização n Acidentes u Má qualidade dos métodos, linguagens, ferramentas, processos, e modelos de ciclo de vida u Falta de qualificação técnica

19 Elementos e Atividades da Engenharia de Software n Elementos u Modelos do ciclo de vida do software u Linguagens u Métodos u Ferramentas u Processos n Atividades u Modelagem do negócio u Elicitação de requisitos u Análise e Projeto u Implementação u Testes u Distribuição u Planejamento u Gerenciamento u Gerência de Configuração e Mudanças u Manutenção

20 Atividades e Artefatos da Engenharia de Software n Artefatos u Plano de Negócios u Plano de Projeto u Plano de Riscos u Documento de Requisitos u Mapeamentos A&P u Documento de Caso de Uso u Documento de Arquitetura u Classes u Documento de Testes u Documento de Validação u Manual do Sistema n Atividades u Modelagem do negócio u Elicitação de requisitos u Análise e Projeto u Implementação u Testes u Distribuição u Planejamento u Gerenciamento u Gerência de Configuração e Mudanças u Manutenção

21 O que é um modelo de ciclo de vida de processo de software? n Uma representação abstrata e simplificada do processo de desenvolvimento software, tipicamente mostrando as principais atividades e dados usados na produção e manutenção de software

22 Linguagem n Notação com sintaxe e semântica bem definidas u com representação gráfica ou textual n Usada para descrever os artefatos gerados durante o desenvolvimento de software n Exemplos: UML, Java

23 Método n Descrição sistemática de como deve-se realizar uma determinada atividade ou tarefa n A descrição é normalmente feita através de padrões e guias n Exemplos: Método para descoberta das classes de análise no RUP.

24 Ferramenta CASE – ( Computer-Aided Software Engineering ) Engenharia de Software Auxiliada por Computador n Provê suporte computacional a um determinado método ou linguagem n Ambiente de desenvolvimento: conjunto de ferramentas integradas (CASE) n Exemplos: Rational Rose, JBuilder

25 Processo n Conjunto de atividades u bem definidas u com responsáveis u com artefatos de entrada e saída u com dependências entre as mesmas e ordem de execução u com modelo de ciclo de vida

26 Processo de software n Um conjunto de atividades cujo objetivo é o desenvolvimento ou a evolução do software n Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software

27 Metodologia n Conjunto de métodos + processo

28 Pontos principais Engenharia de software é uma disciplina de engenharia que está envolvida com todos os aspectos da produção de software n Produtos de software consistem de programas desenvolvidos e documentação associada. Alguns atributos de qualidade do produto são manutenibilidade, eficiência e usabilidade n O processo de software consiste nas atividades que são envolvidas no desenvolvimento de produtos de software

29 Pontos principais n Métodos são formas organizadas de produzir software. Eles incluem sugestões para o processo a ser seguido, as notações a serem usadas, regras que governam as descrições do sistema que são produzidas e diretrizes de projeto n Ferramentas CASE são sistemas de software que são projetados para suportar as atividades rotineiras no processo de software, como edição de diagramas de projeto e verificação de consistência dos diagramas

30 Cenas do próximo capítulo n Como elaborar um Documento de Visão

31 Resumo (em equipes) n Entendimento Software; n Entendimento Engenharia de Software; n Software de Qualidade; n Crise de Software; n Processo de Software.


Carregar ppt "Introdução à Engenharia de Software FACULDADE DOS GUARARAPES Professor: Rômulo César"

Apresentações semelhantes


Anúncios Google