Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Visão Geral da Engenharia de Software: Conceitos Básicos e Desafios, Notas de aula de Análise de Sistemas de Engenharia

Neste documento, luís a. Alexandre apresenta uma visão geral da engenharia de software (es), abordando conceitos fundamentais, importância do software na economia global, papel dos engenheiros de software, processos de desenvolvimento, mitos sobre o software e atributos de um bom software. Além disso, ele discute o custo do software, diferentes modelos de desenvolvimento e compara seus custos.

Tipologia: Notas de aula

2010

Compartilhado em 22/03/2010

ednaldo-miranda-6
ednaldo-miranda-6 🇧🇷

4

(1)

38 documentos

1 / 31

Documentos relacionados


Pré-visualização parcial do texto

Baixe Visão Geral da Engenharia de Software: Conceitos Básicos e Desafios e outras Notas de aula em PDF para Análise de Sistemas de Engenharia, somente na Docsity! Uma visão geral da ES O producto O processo Engenharia de software Lúıs A. Alexandre UBI, 3 de Março de 2008 Lúıs A. Alexandre Engenharia de software Uma visão geral da ES O producto O processo Conteúdo I Uma visão geral da Eng. de Software (ES). I O producto. I O processo. Lúıs A. Alexandre Engenharia de software Uma visão geral da ES O producto O processo O que é a eng. de sistemas I A eng. de sistemas é uma área do conhecimento que se ocupa de todos os aspectos relativos a sistemas informáticos: hardware, software e eng. de processos. I A ES é parte da eng. de sistemas. I Um eng. de sistemas preocupa-se com a especificação do sistema, o desenho a sua integração e instalação. Lúıs A. Alexandre Engenharia de software Uma visão geral da ES O producto O processo O que são as CASE I Computer-Aided Software Engineering (CASE) I São aplicações (ferramentas) que servem para automatizar algumas das tarefas do desenvolvimento de software. I Por vezes são separadas em: I CASE superior: aplicadas à análise de requisitos e ao desenho; I CASE inferior: aplicadas à programação, teste, detecção de erros. Lúıs A. Alexandre Engenharia de software Uma visão geral da ES O producto O processo Desafios da ES I Heterogeneidade: desenvolver técnicas que permitam desenvolver software sobre plataformas e ambientes de execução heterogéneos; I Rapidez: desenvolver técnicas que permitam acelerar a entrega do software ao cliente; I Confiança: desenvolver técnicas que demonstrem que o software criado é de confiança. Lúıs A. Alexandre Engenharia de software Uma visão geral da ES O producto O processo Atributos dum bom software I Cumprir os requisitos: deve ser capaz de fazer o que foi pedido; I Fácil de manter: tem de ser capaz de evoluir para se ajustar às necessidades; I Fiável: deve ser de confiança; I Eficiente: não deve desperdiçar recursos; I Aceitável: os utilizadores devem aceitá-lo o que implica que deve ser compreensivel, utilizável e compat́ıvel com outros sistemas Lúıs A. Alexandre Engenharia de software Uma visão geral da ES O producto O processo Custo do software I O maior custo de um sistema informático é muitas vezes o do software. I Para software feito à medida os custos de evolução são normalmente superiores aos custos de desenvolvimento inicial. I Normalmente é mais cara a manutenção do software que o seu desenvolvimento. I Os custos de desenvolvimento estão também ligados ao modelo de desenvolvimento usado (ver à frente). Lúıs A. Alexandre Engenharia de software Uma visão geral da ES O producto O processo Desenvolvimento em cascata Desenvolvimento evolucionário Desenvolvimento baseado em componentes. Outras abordagens Custos O que é o processo I É o conjunto de actividades que têm como objectivo o desenvolvimento de software. I Em geral, o processo contém as seguintes actividades: I Especificação: o que é que o sistema deve fazer e quais as restrições existentes; I Desenho: definição do software de forma a cumprir requisitos; I Implementação: escrita de código; I Validação: verificação de que o software faz aquilo que estava especificado; I Evolução: modificação do software para que se adpate a mudanças nos requisitos. Lúıs A. Alexandre Engenharia de software Uma visão geral da ES O producto O processo Desenvolvimento em cascata Desenvolvimento evolucionário Desenvolvimento baseado em componentes. Outras abordagens Custos Modelo em cascata (imagem retirada de Sommerville,I. ”Software Engineering”) Lúıs A. Alexandre Engenharia de software Uma visão geral da ES O producto O processo Desenvolvimento em cascata Desenvolvimento evolucionário Desenvolvimento baseado em componentes. Outras abordagens Custos Fases I Análise de requisitos I Desenho do sistema e do software I Implementação e teste de unidades I Integração e teste do sistema I Instalação e manutenção Lúıs A. Alexandre Engenharia de software Uma visão geral da ES O producto O processo Desenvolvimento em cascata Desenvolvimento evolucionário Desenvolvimento baseado em componentes. Outras abordagens Custos Problemas I O principal problema deste modelo é a dificuldade em lidar com a mudança após o projecto estar a decorrer. I Outro inconveniente é que uma fase tem de estar terminada para se poder passar à seguinte. Lúıs A. Alexandre Engenharia de software Uma visão geral da ES O producto O processo Desenvolvimento em cascata Desenvolvimento evolucionário Desenvolvimento baseado em componentes. Outras abordagens Custos Fases I Exploratória: o objectivo é trabalhar com o cliente a partir duma primeira especificação até atingir o produto final. I Prototipagem: vão-se contruindo protótipos para clarificar os requisitos do sistema. Lúıs A. Alexandre Engenharia de software Uma visão geral da ES O producto O processo Desenvolvimento em cascata Desenvolvimento evolucionário Desenvolvimento baseado em componentes. Outras abordagens Custos Problemas I Falta de visibilidade do processo; I Resulta muitas vezes em sistema mal estruturados; I Pode necessitar do uso de linguagens de desenvolvimento rápido; Lúıs A. Alexandre Engenharia de software Uma visão geral da ES O producto O processo Desenvolvimento em cascata Desenvolvimento evolucionário Desenvolvimento baseado em componentes. Outras abordagens Custos Aplicação I Para sistemas pequenos a médios; I Para partes de grandes sistemas, por exemplo, para a interface com o utilizador; I Para sistemas com curto tempo de vida; Lúıs A. Alexandre Engenharia de software Uma visão geral da ES O producto O processo Desenvolvimento em cascata Desenvolvimento evolucionário Desenvolvimento baseado em componentes. Outras abordagens Custos Problemas I Requisitos podem não ser cumpridos exactamente. I A evolução do sistema não pode não estar totalmente sob controlo visto os componentes poderem ser desenvolvidos por terceiros. Lúıs A. Alexandre Engenharia de software Uma visão geral da ES O producto O processo Desenvolvimento em cascata Desenvolvimento evolucionário Desenvolvimento baseado em componentes. Outras abordagens Custos Aplicação I Reduz quantidade de código a desenvolver. I Conduz a um processo mais rápido. I Reduz custo de desenvolvimento. Lúıs A. Alexandre Engenharia de software Uma visão geral da ES O producto O processo Desenvolvimento em cascata Desenvolvimento evolucionário Desenvolvimento baseado em componentes. Outras abordagens Custos Outras abordagens I RAD (Rapid Application Development) I Tentam colocar SW junto do cliente o mais rápido posśıvel; I Usam abundantemente ferramentas CASE; I Usam linguagens de quarta geração (visuais); I Usam geradores de código. I Agile Development: XP (eXtreme Programming), Scrum, Dynamic Systems Development Method. I Metodologias centradas na programação; I Eliminam quase toda a modelação e documentação; I Usam processo de desenvolvimento iterativo e refactoring. Lúıs A. Alexandre Engenharia de software Uma visão geral da ES O producto O processo Desenvolvimento em cascata Desenvolvimento evolucionário Desenvolvimento baseado em componentes. Outras abordagens Custos Leituras complementares I Pressman: cap. 1 (produto), cap.2 (processo); I Sommerville: cap. 1 (produto), cap. 4 (processo); Lúıs A. Alexandre Engenharia de software Uma visão geral da ES O producto O processo Desenvolvimento em cascata Desenvolvimento evolucionário Desenvolvimento baseado em componentes. Outras abordagens Custos Questionário 1. Para que serve um engenheiro de software ? 2. Como se pode criar software reutilizando software existente ? 3. Comente a frase : ”Quanto mais cedo começarmos a escrever código, mais tempo levaremos para o terminar”. 4. Porque é que é importante que o software seja fácilmente adaptável ? 5. O que têm em comum os 3 processos de desenvolvimento descritos ? 6. A que mudança se refere um dos problemas do desenvolvimento em cascata ? Lúıs A. Alexandre Engenharia de software
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved