Engsoftware-1

  • Uploaded by: marlonvgpm
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Engsoftware-1 as PDF for free.

More details

  • Words: 1,441
  • Pages: 22
Engenharia de Software Conceitos Básicos Professor Marcio A. Queiroz

SOFTWARE Instruções (programa de computador) que, quando executadas, produzem a função e desempenho desejado; Estrutura de dados que possibilitam que os programas manipulem adequadamente as informações; Documentos que descrevem a operação e uso dos programas.

SOFTWARE - Primeira Característica Há semelhanças mas há diferenças  Em uma concepção profissional e de alto nível, o software é desenvolvido ou projetado por engenharia, e não manufaturado no sentido clássico.  Software é elaborado e não manufaturado; Em outras palavras:  O software é desenvolvido ou passa por um processo de engenharia; não é fabricado no sentido clássico;

SOFTWARE Segunda Característica

Indice de falhas

 O Software não se “desgasta”. Mas se deteriora! Não há peças de reposição! Elevados índices de falhas

"Desgaste"

Tempo Curva de Falhas para o Hardware

SOFTWARE Picos de Deterioração Novas modificações são solicitadas; Novas alterações Geram novos defeitos;

Indice de falhas

O software se deteriora em Função de suas modificações;

Curva real Mudanças

Tempo

Curva Idealizada

SOFTWARE Terceira Característica  Componentes de software Um componente de software deve ser projetado e implementado de modo que possa ser reusado em muitos programas diferentes.  Exemplo: Menus que já estão prontos para serem reusados, janelas, interfaces gráficas e assim por diante.

Conceitos Ciência e Engenharia Dicionário Aurélio Eletrônico v.2.0

 Ciência – Conjunto organizado de conhecimentos relativos a um determinado objeto, especialmente os obtidos mediante a observação, a experiência do fato e um método prático.  Engenharia – Arte de aplicar conhecimentos científicos e empíricos e certas habilitações específicas à criação de estruturas, dispositivos e processos que se utilizam para converter recursos naturais em formas adequadas ao atendimento das necessidades humanas.

Engenharia de Software Definição “O estabelecimento e uso de sólidos princípios de engenharia para que se possa obter economicamente um software que seja confiável e que funcione eficientemente em máquinas reais”. Esta foi um primeira definição de engenharia de software proposta por Fritz Bauer na primeira grande conferência realizada sobre o assunto em 1969. Mesmo que tantas outras definições tenham surgido ao longo do tempo, todas elas reforçam a existência da disciplina da engenharia no desenvolvimento do software. Além disso, outros três aspectos são também importantes: métodos (como fazer), ferramentas (apoio no fazer) e procedimentos (união dos métodos e ferramentas).

Engenharia de Software Definição Engenharia de software é uma área do conhecimento da computação voltada para a especificação, desenvolvimento e manutenção de sistemas de software aplicando tecnologias e práticas de gerência de projetos e outras disciplinas, objetivando organização, produtividade e qualidade. Conforme Pressman, a Engenharia de Software (ES) é uma tecnologia em camadas. E a base de todas essas camadas é o foco na qualidade do software desenvolvido. Portanto, inclusive do ponto de vista didático, é interessante estudarmos a ES em suas camadas de Processo, Métodos e Ferramentas.

Engenharia de Software SWEBOK (corpo de conhecimento de Engenharia de Software) O Guide to the Software Engineering Body of Knowledge, conhecido pela sigla SWEBOK, é um documento criado sob o patrocínio da IEEE (Instituto de Engenheiros Eletricistas e Eletrônicos) com a finalidade de servir de referência em assuntos considerados, de forma generalizada pela comunidade, como pertinentes a área de Engenharia de Software, reunindo as melhores práticas da engenharia de software.

Engenharia de Software SWEBOK (corpo de conhecimento de Engenharia de Software)

http://www2.computer.org/portal/web/swebok

OBJETIVOS SWEBOK (corpo de conhecimento de Engenharia de Software)  Promover uma visão consistente da engenharia de software no mundo;  Clarear e marcar as fronteiras entre a engenharia de software e as outras disciplinas relacionadas;  Caracterizar o conteúdo da disciplina de engenharia de software;  Classificar em tópicos a área de conhecimento da engenharia de software;  Prover uma fundação para o desenvolvimento do currículo, para certificação individual e para licenciamento de material

Engenharia de Software SWEBOK (corpo de conhecimento em Engenharia de Software) Algumas Indicações de que a engenharia de software está se tornando uma atividade de engenharia  Cursos de graduação em universidades no exterior e no Brasil;  Certificações ISO e CMM/CMMI usados em empresas de desenvolvimento de software;  Código de ética.

Engenharia de Software Áreas de Conhecimento Segundo SWEBOK 

Segundo o SWEBOK (Corpo de Conhecimento da Engenharia de Software), as áreas de conhecimento da Engenharia de Software são: Requisitos de software Aquisição, análise, especificação e gestão de requisitos de software.



Design de software Transformação de requisitos (de software), tipicamente estabelecidos em termos relevantes ao domínio do problema, em uma descrição explicando como solucionar os aspectos do problema relacionados com software.



Construção de Software Construção de programas funcionais e coerentes através da codificação, autovalidação, e teste unitário.



Teste de Software Verificação dinâmica do comportamento do programa através do uso de um conjunto finito de casos de teste – adequadamente selecionados de um domínio de execuções usualmente infinito - contra o comportamento esperado deste.

Engenharia de Software Áreas de Conhecimento Segundo SWEBOK 

Segundo o SWEBOK (Corpo de Conhecimento da Engenharia de Software), as áreas de conhecimento da Engenharia de Software são: Manutenção de Software Atividades de suporte custo-efetivo a um sistema de software, que pode ocorrer antes e após a entrega do software. Após a entrega do software são feitas modificações com o objetivo de corrigir falhas, melhorar seu desempenho ou adaptálo a um ambiente modificado. Antes da entrega do software são feitas atividades de planejamento.



Gerência de Configuração de Software Identifica a configuração do sistema (características documentadas do hardware e software que o compõem) em pontos discretos no tempo, de modo a controlar sistematicamente suas mudanças e manter sua integridade e rastreabilidade durante o ciclo de vida do sistema.



Gerência de Engenharia de Software Gerencia projetos de desenvolvimento de software.

Engenharia de Software Áreas de Conhecimento Segundo SWEBOK 

Segundo o SWEBOK (Corpo de Conhecimento da Engenharia de Software), as áreas de conhecimento da Engenharia de Software são: Processo de Engenharia de Software Define, implementa, mede, gerencia, modifica e aperfeiçoa o processo de desenvolvimento de software.



Ferramentas e Métodos Ferramentas de software automatizam o processo de engenharia de software Métodos impõem estrutura sobre a atividade de desenvolvimento e manutenção de software com o objetivo de torná-la sistemática e mais propensa ao sucesso.



Qualidade de Software Conjunto de atividades relacionadas com garantia de qualidade de software, entre estas as atividades de verificação e validação.

Engenharia de Software Problemas da indústria nascente: Perguntas surgiram: Por que demora tanto tempo para que os programas sejam construídos? Por que os custos são tão elevados? Por que não descobrimos todos os erros antes de entregarmos o software aos nossos clientes? Por que temos dificuldade em medir o progresso quando o software está sendo desenvolvido? Por que gastamos tanto tempo e esforço mantendo programas existentes?

Engenharia de Software Problemas da indústria nascente: Perguntas surgiram: Por que demora tanto tempo para que os programas sejam construídos? Por que os custos são tão elevados? Por que não descobrimos todos os erros antes de entregarmos o software aos nossos clientes? Por que temos dificuldade em medir o progresso quando o software está sendo desenvolvido? Por que gastamos tanto tempo e esforço mantendo programas existentes?

Engenharia de Software (ES) Surgimento da ES As questões anteriores e muitas outras demonstram a preocupação da industria com o software e a maneira pela qual ele é desenvolvido;  Essas preocupações tem levado a adoção da prática de Engenharia de Software.

Engenharia de Software (ES) Um pouco da História A Engenharia de Software (ES) surgiu em meados dos anos 1970 numa tentativa de contornar a crise do software e dar um tratamento de engenharia (mais sistemático e controlado) ao desenvolvimento de sistemas de software complexos. Um sistema de software complexo se caracteriza por um conjunto de componentes abstratos de software (estruturas de dados e algoritmos) encapsulados na forma de procedimentos, funções, módulos, objetos ou agentes interconectados entre si, compondo a arquitetura do software, que deverão ser executados em sistemas computacionais.

Engenharia de Software (ES) Conclusões O que é Software ?  O produto que os profissionais de software constroem e, depois, mantêm ao longo do tempo;  Abrangem programas que executam em computadores de qualquer tamanho e arquitetura;  O conteúdo que é apresentado ao programa a ser executado;  E documentos tanto de forma impressa quanto virtual que combinam todas as formas de mídia eletrônica.

Engenharia de Software (ES) Conclusões Quem faz? Engenheiros de software constroem e mantêm, e praticamente todas as pessoas do mundo industrializado usam direta ou indiretamente;

Qual é o produto do trabalho? 1 - Do ponto de vista do Engenheiro de Software: a) Programas b) Conteúdos (dados) c) Documentos que compõem um software de computador; 2 - Do ponto de vista do Usuário: a) Informação

More Documents from "marlonvgpm"

Engsoftware-1
May 2020 1
Eng Software 1608
May 2020 5