Escolar Documentos
Profissional Documentos
Cultura Documentos
CET/DSAS {EngSoft}
Joel Carvalho - 10.09.2010 Captulo 1 Introduo Engenharia de Software
Mod.AFTEBI.P-052.rev02
FORMAO TECNOLGICA
Sntese
i. Definies ii. Desafios e Mitos iii.Modelos de Processo iv.Abordagem Orientada a Objectos
FORMAO TECNOLGICA
Mod.AFTEBI.P-052.rev02
i. Definies
Mod.AFTEBI.P-052.rev02
Software
Conjunto de instrues com significado para um sistema computacional com documentao associada que inclu requisitos, modelos, manuais (programao, instalao e utilizao). O Software pode ser dirigido a um cliente com necessidades especficas ou para um mercado mais global. Um software novo, pode ter origem na reutilizao de outro software existente.
Mod.AFTEBI.P-052.rev02
Mod.AFTEBI.P-052.rev02
Engenharia de Sistemas
A Eng. de sistemas ocupa-se de todos os aspectos relativos aos sistemas informticos na sua generalidade, sejam eles de software, hardware ou processos. A ES um sub-conjunto da Engenharia de Sistemas. A engenharia de sistemas preocupa-se com a especificao, o desenho, a integrao e instalao DOS SISTEMAS, enquanto a ES preocupa-se com a especificao, modelao, implementao, documentao e testes DO SOFTWARE.
Mod.AFTEBI.P-052.rev02
CASE
Computer-Aided Software Engineering Aplicaes de automatizao de algumas tarefas do desenvolvimento de software. Podem ser dividas em duas classes: CASE superior: aplicadas anlise de requisitos e modelao. CASE inferior: aplicadas programao, testes e deteco de erros.
Mod.AFTEBI.P-052.rev02
Desafios
Heterogeneidade Adoptar tcnicas que permitam desenvolver software para plataformas e ambientes dispares Rentabilidade Adoptar tcnicas que permitam acelerar a entrega do software ao cliente e baixar o custo Confiabilidade Adoptar tcnicas que demonstrem que o software desenvolvido fivel (de confiana e funcional)
Mod.AFTEBI.P-052.rev02
Mitos
O trabalho de desenvolvimento acaba assim que o cdigo do programa est escrito. S possvel avaliar a qualidade de um software depois do mesmo estar a funcionar. O cliente s precisa do executvel do programa. No preciso de documentao porque sei o que fiz. J testei o programa, no precisam de testar mais.
Mod.AFTEBI.P-052.rev02
Mod.AFTEBI.P-052.rev02
Custos do Software
Os custos do software esto directamente relacionados com o processo de desenvolvimento. Os custos no se ficam pelo desenvolvimento! Por vezes o custo de manuteno maior que o custo de desenvolvimento. Custos acrescidos no estudo dos requisitos e na modelao podem reduzir substancialmente os custos posteriores.
Mod.AFTEBI.P-052.rev02
Processo
O processo o conjunto de actividades que tm por objectivo o desenvolvimento de software. Digamos que a forma como desenvolvemos. Em geral, o processo divide-se pelas seguintes actividades:
Especificao: o que o software deve fazer e quais as restries. Desenho: modelao do software para cumprir a especificao. Implementao: escrita do cdigo. Validao: verificar se software faz o que foi especificado. Evoluo: modificar o software para se adequar s mudanas de especificao.
Mod.AFTEBI.P-052.rev02
Modelos de Processo
Representao do processo segundo uma viso especifica: Workflow: sequncia das actividades. Data-Flow: fluxo da informao. Role: quem faz o qu. Alguns modelos: Cascata. Em V. Baseado em componentes. Evolucionrio. ...
Mod.AFTEBI.P-052.rev02
Modelo em cascata
Mod.AFTEBI.P-052.rev02
Modelo em cascata
Fases: Anlise de Requisitos; Modelao do Software; Implementao do cdigo; Integrao e Testes; Manuteno. Desvantagens:
Dificuldade em lidar com mudanas aps cada uma das fases. necessrio acabar uma fase para se passar seguinte.
Aplicao:
Sistemas Grandes. Sistemas desenvolvidos simultaneamente em vrios locais.
Mod.AFTEBI.P-052.rev02
Modelo em V
Mod.AFTEBI.P-052.rev02
Modelo em V
Fases: Anlise de Requisitos; Especificao de alto nvel; Modelao do Software; Implementao do cdigo; Testes Individuais; Testes de Integrao; Testes de Validao; Manuteno. Desvantagens:
Dificuldade em seguir um fluxo sequencial do modelo. Dificuldade para o cliente especificar os requisitos explicitamente.
Aplicao:
Mod.AFTEBI.P-052.rev02
Sistemas cujas alteraes podem ser espontneas Sistemas com equipas multi-disciplinares a trabalhar em simultneo
Trabalho Online
No Google Group devem todos participar com pelo menos: 1 Nome Modelo de Processo no apresentado + Imagem 2 Desvantagens e 2 Vantagens desse mesmo Modelo Este mini-trabalho vale 0.2 na componente de Assiduidade, Pontualidade, Participao e Comportamento. Quanto mais cedo participarem mais fcil vai ser escolher um modelo que ainda ningum apresentou. Modelos repetidos no sero contabilizados.
Mod.AFTEBI.P-052.rev02
Vo existir mais 4 trabalhos deste tipo. Esta componente vale 1 valor em 20.
iv. Abordagem OO
Mod.AFTEBI.P-052.rev02
Abordagem OO
Nesta abordagem o problema caracterizado por: Um conjunto de Objectos. Atributos dos Objectos. Comportamentos dos Objectos Imaginando que o nosso sistema seria um carro e um dos objectos do sistema um pneu indique os atributos e os comportamentos desse objecto!
Mod.AFTEBI.P-052.rev02
Classes e Objectos
Classe: conceito OO que encapsula dados (atributos) e aces (mtodos) a uma entidade. Objectos: instncias de uma Classe. Uma classe genrica enquanto que um Objectivo instanciado uma representao especifica da Classe. Tradicionalmente os atributos de uma Classe so apenas acessveis usando mtodos da Classe. Os atributos e mtodos podem ser pblicos ou privados.
Mod.AFTEBI.P-052.rev02
Atributos
Os atributos representam caractersticas estveis dos objectos. No caso do nosso pneu: a cor; a textura, o tamanho, o fabricante, o tipo, etc. Os atributos podem receber valores por defeito. Por exemplo no caso do pneu a cor o preto.
Mod.AFTEBI.P-052.rev02
Mod.AFTEBI.P-052.rev02
Os 3 conceitos principais
Encapsulamento: conceito relativo juno de dados e operaes num nico objecto. Herana: conceito que permite que os atributos e operaes duma classe sejam herdados por todas as suas subclasses e objectos instanciados a partir delas. Polimorfismo: conceito que permite o uso do mesmo nome para vrias operaes (distintas) facilitando compreenso e modificaes.
Mod.AFTEBI.P-052.rev02
Mod.AFTEBI.P-052.rev02
Perguntas?
{Bom Trabalho!}
Mod.AFTEBI.P-052.rev02
Para que serve um Engenheiro de Software? Para que serve a especificao? Porque que existem tantos modelos de processo? Existe algum modelo melhor do que todos os outros? Qual a grande diferena entre o modelo em Cascata e em V? Porqu seguir um modelo em detrimento de outro? Defina cada um dos trs conceitos chave do OO (encapsulamento, herana, polimorfismo). Como identificar objectos, atributos e mtodos? Quais os benefcios da herana?
Mod.AFTEBI.P-052.rev02
FORMAO TECNOLGICA
Mod.AFTEBI.P-052.rev02