Você está na página 1de 30

CURSO: CET/DSAS DISCIPLINA: Eng.

de Software ANO LECTIVO: 2009/2011

CET/DSAS {EngSoft}
Joel Carvalho - 10.09.2010 Captulo 1 Introduo Engenharia de Software
Mod.AFTEBI.P-052.rev02

FORMAO TECNOLGICA

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

Sntese
i. Definies ii. Desafios e Mitos iii.Modelos de Processo iv.Abordagem Orientada a Objectos

FORMAO TECNOLGICA

Mod.AFTEBI.P-052.rev02

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

i. Definies
Mod.AFTEBI.P-052.rev02

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

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

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

Engenharia de Software (ES)


A ES a cincia que estuda teorias, mtodos e tcnicas implcitas ao desenvolvimento profissional de software. Existem cada vez mais sistemas controlados por software: Carros; Electrodomsticos; TV Box (Meo, etc.); Carto do Cidado; Multibancos; etc. A ES transversal e engloba todos aos aspectos relativos ao desenvolvimento de software.

Mod.AFTEBI.P-052.rev02

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

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

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

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

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

ii. Desafios e Mitos


Mod.AFTEBI.P-052.rev02

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

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

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

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

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

Atributos de um Bom Software


Deve fazer o que o cliente pretende (o que nem sempre corresponde ao que inicialmente pediu). Deve ser fcil de fazer evoluir para se ajustar s necessidades crescentes do cliente. Deve ser Confivel, isto , dar algumas garantias do seu correcto funcionamento. Deve ser Eficiente, ou seja, no deve usar recursos desnecessrios. Deve ser Aceite! Os utilizadores finais devem ter vontade do utilizar.

Mod.AFTEBI.P-052.rev02

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

iii. Modelos de Processo


Mod.AFTEBI.P-052.rev02

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

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

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

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

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

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

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

Modelo em cascata

Mod.AFTEBI.P-052.rev02

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

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

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

Modelo em V

Mod.AFTEBI.P-052.rev02

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

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

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

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.

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

iv. Abordagem OO
Mod.AFTEBI.P-052.rev02

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

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

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

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

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

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

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

Operaes, mtodos ou servios


Cada uma das operaes encapsuladas num objecto fornece uma representao de um dos seus comportamentos ou efectua algum servio relacionado com os atributos do objecto. Recorrendo a outro exemplo, um alarme de segurana com sirene, quais so os mtodos possveis?

Mod.AFTEBI.P-052.rev02

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

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

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

Engenharia de Software e POO


O paradigma OO aprofundado na disciplina de POO, todavia existe uma forte relao entre o paradigma e a modelao que vai ser estudada em ES. Este paradigma bastante usado nos dias correntes e no curso de DSAS. O re-aproveitamento deste tipo de programao propcio a uma ES mais exigente e capaz de tirar proveito deste fenmeno. Identificar correctamente os objectos, os atributos e os mtodos, passa a partir de agora a ser um aspecto fundamental para um desenvolvimento correcto.

Mod.AFTEBI.P-052.rev02

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

Perguntas?
{Bom Trabalho!}
Mod.AFTEBI.P-052.rev02

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

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

CURSO: CET/DSAS DISCIPLINA: Eng. de Software ANO LECTIVO: 2009/2011

Ipsa scientia potestas est


{O saber poder}

FORMAO TECNOLGICA

Mod.AFTEBI.P-052.rev02

Você também pode gostar