Engenharia de software respostas do question rio 01
Download
1 / 19

Engenharia de Software Respostas do Questionário 01 - PowerPoint PPT Presentation


  • 73 Views
  • Uploaded on

Engenharia de Software Respostas do Questionário 01. Engenharia de Software. As economias de todos os países desenvolvidos são dependentes de software. Mais e mais sistemas são controlados por software.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Engenharia de Software Respostas do Questionário 01' - cora-schroeder


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Engenharia de software respostas do question rio 01

Engenharia de SoftwareRespostas do Questionário 01


Engenharia de software
Engenharia de Software

  • As economias de todos os países desenvolvidos são dependentes de software.

  • Mais e mais sistemas são controlados por software.

  • Engenharia de software preocupa-se com as teorias, modelos, métodos, processos e ferramentas para os desenvolvedores de software.

  • As despesas com software representam uma fração significativa do PIB em todos os países desenvolvidos.


Custo de software
Custo de Software

  • O custo de software geralmente domina o custo dos sistemas e o custo de software em um PC geralmente são maiores que o custo de hardware.

  • Software custa mais para ser mantido do que para ser desenvolvido. Para sistemas com um ciclo de vida longo, o custo de manutenção é muitas vezes superior ao custo de desenvolvimento.

  • A engenharia de software preocupa-se com o custo efetivo do desenvolvimento de software.


Quest es freq entes sobre engenharia de software
Questões freqüentes sobre engenharia de software

  • O que é software?

  • O que é engenharia de software?

  • Qual é a diferença entre engenharia de software e ciência da computação?

  • Qual é a diferença entre engenharia de software e engenharia de sistemas?

  • O que é processo de software?

  • O que é modelo de processo de software?

  • O que são métodos da engenharia de software?

  • Quais são os custos da engenharia de software?

  • O que é Ferramenta CASE (Computer-Aided Software Engineering)?

  • Quais os atributos de um bom software?

  • Quais os desafios chave enfrentados pela engenharia de software?


1 o que software
1. O que é software?

  • Programas de computador e toda a documentação a eles associada.

  • Produtos de software podem ser desenvolvidos para um cliente em particular (personalizados) ou podem ser desenvolvidos para o mercado em geral (genéricos).


2 o que engenharia de software
2. O que é engenharia de software?

  • É uma disciplina da engenharia que se ocupa de todos os aspectos da produção e da manutenção de software.

  • Tem engenheiros de software como protagonistas.

  • Os engenheiros de software devem adotar uma abordagem sistemática e organizada ao seu trabalho e devem usar ferramentas e técnicas apropriadas, dependendo do problema a ser resolvido, das restrições e dos recursos disponíveis (premissas).


3 qual a diferen a entre engenharia de software e ci ncia da computa o
3. Qual é a diferença entre engenharia de software e ciência da computação?

  • Ciência da Computação se ocupa da teoria e dos fundamentos; engenharia de software se ocupa das práticas para desenvolver e entregar software de qualidade.

  • As teorias da Ciência da Computação são insuficientes para atuar como suporte completo à Engenharia de Software.

  • São complementares, pois a primeira fornece infra-estrutura de software para que a segunda se ocupe da solução de problemas complexos de alto nível que requerem uma solução baseada em software.


4 qual a diferen a entre engenharia de software e engenharia de sistemas
4. Qual é a diferença entre engenharia de software e engenharia de sistemas?

  • Engenharia de Sistemas (suportados por computador) se ocupa de todos os aspectos do desenvolvimento de sistemas baseados em computadores, incluindo hardware, software, peopleware e o processo de engenharia.

  • Engenheiros de Sistemas cuidam da especificação, desenho arquitetônico, integração e desenvolvimento de sistemas.

  • A Engenharia de Sistemas é anterior a Engenharia de Software.


5 o que processo de software
5. O que é processo de software? engenharia de sistemas?

  • É um conjunto de atividades cujo objetivo é desenvolver ou evoluir um produto de software.

  • Atividades que fazem parte de todos os processos (de desenvolvimento) de software:

    • Especificação – o que o sistemas deve fazer e quais as suas restrições (requisitos).

    • Desenvolvimento – produção de um software.

    • Validação – verificar que o software é o que o cliente deseja.

    • Evolução – modificar o software em resposta às novas demandas.

  • Define o ciclo de vida (fases) de um software, usando modelos e métodos de software.

  • Trata-se de uma metodologia para desenvolver software.


Exemplos de processos de software
Exemplos de Processos de Software engenharia de sistemas?

  • Processo Unificado (Jacobson, Booch, Rumbaugh)

  • RUP – Rational Unifided Process (Rational/IBM)

  • PRAXIS – Processo para Aplicativos eXtensíveis InterativoS (Wilson de Pádua Paula Filho)

    • Para projetos realizados individualmente ou por pequenas equipes, com duração de seis meses a um ano.

  • XP – eXtreme Programming

    • Projetos cujos requisitos mudam com muita freqüência, orientados a objetos, desenvolvido por equipes de até 12 desenvolvedores, com processo incremental (ou interativo).

  • SEA UP (SEA Tecnologia)

  • MetoDeS – Desenvolvida por Alunos como TCC


6 o que modelo de processo de software
6. O que é modelo de processo de software? engenharia de sistemas?

  • Uma representação simplificada e abstrata de um processo de software, apresentada a partir de uma perspectiva específica.

  • Exemplos de perspectivas de processo são:

    • Workflow (fluxo de trabalho) – seqüência de atividades

    • Data-flow (fluxo de dados) – fluxo de informações

    • Role/action (papeis e ações) – quem faz o quê

  • Modelos de Processos Abstratos são:

    • Cascata

    • Evolucionário

    • Incremental

    • Transformação Formal

    • Integração a partir de componentes reutilizáveis

    • Modelos ágeis (como eXtreme Programing)


7 o que s o m todos de engenharia de software
7. O que são métodos de engenharia de software? engenharia de sistemas?

  • Os métodos, de acordo com o SWEBOK, Capítulo 10, são:

    • Abordagem Estruturada

    • Orientada a Dados

    • Orientada a Objetos

    • Baseado em Protótipos

  • Descrevem modelos, gráficos, diagramas, notações, regras, restrições, práticas de desenho,

  • Orientam o processo, recomendando práticas mais adequadas e atividades a serem seguidas



8 quais os custos da engenharia de software
8. Quais os custos da engenharia de software? Artefatos e Projetos

  • Aproximadamente 60% do custo está no desenvolvimento e 40% está nos testes. Para software customizado, o custo de evolução quase sempre supera o custo de desenvolvimento.

  • Custos variam em função do tipo de sistema que está sendo desenvolvido e dos requisitos, incluindo performance e nível de disponibilidade.

  • Custos de distribuição dependem do modelo de processo de desenvolvimento usado.

  • O processo de engenharia de software em si, assim como qualquer processo de gestão e planejamento, tem um custo e é importante que os stakeholders estejam a par deles.


9 o que case computer aided software engineering
9. O que é CASE (Computer-Aided Software Engineering)? Artefatos e Projetos

  • Sistemas de Software que servem para dar suporte automatizado às atividades do processo. Ferramentas CASE devem ser sempre usadas.

  • Upper-CASE

    • Ferramentas para suportar as atividades desde o início do processo, incluindo requerimentos e desenho (Jude, DB Designer, Power Design, Rational Rose).

  • Lower-CASE

    • Ferramentas para suportar as atividades finais como programação e depuração e teste de programas (Netbeans, Eclipse, Ant, JUnit).


10 quais os atributos de um bom software
10. Quais os atributos de um bom software? Artefatos e Projetos

  • O software deve fornecer as funcionalidades requeridas e atender aos requisitos não funcionais de performance, segurança, confiabilidade, usabilidade, manutenibilidade, entre outros.

  • Manutenibilidade

    • Software deve poder ser alterado para atender as mudanças de necessidades.

  • Segurança e Confiabilidade

    • Software deve ser confiável e seguro física e logicamente.

  • Eficiência

    • Software não deve desperdiçar recursos do sistema.

  • Usabilidade

    • Software deve ser de fácil utilização para os usuários para os quais foi desenhado.


11 quais os grandes desafios da engenharia de software
11. Quais os grandes desafios da engenharia de software? Artefatos e Projetos

  • Lidar com sistemas legados, com a cada vez maior diversidade de tecnologias e demandas por menores tempos de entrega.

  • Sistemas Legados

    • Antigos, mas ainda úteis são os sistemas que devem ser mantidos e aprimorados

  • Heterogeneidade

    • Os sistemas são distribuídos para várias plataformas e incluem uma composição de hardware e software.

  • Entrega

    • Existe forte e crescente pressão para uma entrega mais rápida, muitas vezes com clientes subestimando a complexidade.


S ntese
Síntese Artefatos e Projetos

  • Engenharia de Software ocupa-se de todos os aspectos da produção de software.

  • Produtos de software consistem de programas (desenvolvidos sob encomenda ou não) e toda a documentação associada. Características essenciais são manutenibilidade, segurança e confiabilidade, eficiência e usabilidade.

  • O processo de software (ou metodologia) consiste em atividades que fazem parte de desenvolvimento de produtos de software. As atividades básicas são: especificação e análise, desenho e construção, teste e validação e evolução (RUP, PRAXIS, Processo Unificado, eXtremeProgramming – XP, METODES, PDS).

  • Métodos são maneiras organizadas de produzir software. Incluem sugestões a serem seguidas, notações, regras, modelos, orientando o processo de desenvolvimento (Estruturada, Orientada a Dados, Orientada a Objetos, Baseada em Protótipos).


S ntese1
Síntese Artefatos e Projetos

  • Ferramentas CASE são sistemas de software desenhados para dar suporte a atividades do processo de software como: organização de requisitos, produção e consistência de diagramas, rastreamento, codificação e teste de programas.

  • Os Engenheiros de Software devem ir além dos aspectos técnicos, pois, como nos ensina a Teoria Geral de Sistemas, os sistemas são abertos, influenciando e sendo influenciados pelo meio onde estão inseridos.


ad