You are on page 1of 39

Faculdade Anhanguera de Taubat Unidade II

Curso de Cincia da Computao

Disciplina: Engenharia de Software Professor: Neymar Siqueira Dellareti


Aula 01 Conceitos gerais de engenharia de software.

Software

A definio de software poderia ser: Software so (1) instrues (programas de computadores) que quando executadas fornecem as caractersticas, funo e desempenho desejados. (2) estruturas de dados que permitem aos programas manipular adequadamente informaes. (3) documentos que descrevem a operao e o uso dos programas.
2

Software

Mediante ao exposto, podemos afirmar que: 1. Software elaborado e no manufaturado.

2. Software no se desgasta, mas se deteriora.

Curva de Falhas de Hardware

Grfico de demonstrao de falhas de hardware em funo do tempo. Tambm conhecida como curva da banheira
4

Curva de Falhas de Software

Grfico de demonstrao de falhas de softwares em funo do tempo.


5

A Natureza Mutvel do Software

A natureza mutvel do software: 1. Software de Sistemas uma coleo de programas escritos para servir a outros programas. Exemplo: compiladores, editores e utilitrios para gesto de arquivos, componentes de sistemas operacionais. 2. Software de Aplicao Consiste de programas isolados que resolvem uma necessidade especfica do negcio. Exemplo: Softwares comerciais.
6

A Natureza Mutvel do Software

3. Software cientficos e de engenharia So softwares desenvolvidos especificamente para aplicao dentro da rea cientfica e de engenharia. Exemplo: Software para estudos astronmicos e Software para simulao de sistemas.

A Natureza Mutvel do Software

4. Software embutido Reside dentro de um produto ou sistema e usado para implementar e controlar caractersticas e funes para o usurio final e para o prprio sistema. Por exemplo: Controlar o funcionamento do teclado de um forno de microondas; controlar automaticamente a trajetria de um foguete.
8

A Natureza Mutvel do Software

5. Software para linhas de produtos Projetado para fornecer uma capacidade especfica a ser usada por muitos clientes diferentes. Por exemplo: Softwares financeiros;

A Natureza Mutvel do Software

6. Aplicaes da Web So softwares desenvolvidos especificamente para serem utilizados em meios como a internet. Por exemplo: B2B e B2C. 7. Software para inteligncia artificial So softwares que fazem uso de algoritmos nonumricos para resolverem problemas complexos que no so passveis de computao ou anlise direta. Por exemplo: Robtica, Sistemas especialistas, Reconhecimento de padres, redes neurais, etc.
10

Pensando um pouco sobre o Software Vamos agora refletir um pouco sobre os seguintes mitos:

1. Mito da gerncia: Se nos atrasarmos no cronograma, podemos adicionar mais programadores e ficar em dia.
2. Mito do cliente: Os requisitos de projeto mudam continuamente, mas as mudanas podem ser facilmente acomodadas porque o software flexvel. 3. Mito do profissional: Quando escrevemos um programa e o fazemos funcionar, nosso trabalho est completo.

11

Pensando um pouco sobre o Software Realidades sobre os mitos: 1) Adicionar pessoas a um projeto de software atrasado atrasa-o mais ainda. Pense a respeito

2) verdade que os requisitos de software mudam, mas o impacto da mudana varia com a poca em que introduzida. Qual o impacto no custo, de mudanas no incio de um projeto, no meio e no final? 3) Algum disse: quanto mais cedo voc comear a escrever cdigo mais vai demorar para acabar. Voc concorda? Porqu? 12

Passo a palavra

13

Introduo Engenharia de Software

Engenharia conhecimento

de da

software

uma voltada

rea para

do a

informtica

especificao, desenvolvimento e manuteno de sistemas de software aplicando tecnologias e prticas de cincia da computao, gerncia de projetos e outras disciplinas, objetivando

organizao, produtividade e qualidade.

14

Introduo Engenharia de Software

Os fundamentos cientficos para a engenharia de software envolvem o uso de modelos abstratos e precisos que permitem ao engenheiro especificar, projetar, implementar e manter sistemas de software, avaliando e garantindo suas qualidades. Alm disso, a engenharia de software deve. oferecer mecanismos para se planejar e

gerenciar o processo de desenvolvimento de um

sistema de informao.

15

Introduo Engenharia de Software


Segundo Friedrich Ludwig Bauer, "Engenharia de software a criao e a utilizao de slidos princpios de engenharia a fim de obter software de maneira econmica, que seja confivel e que trabalhe

eficientemente em mquinas reais.


Bauer, nasceu em 10 de Junho de 1924 em Regensburg. um cientista da computao alemo e professor emrito na Universidade Munique de

16

Introduo Engenharia de Software

O termo surgiu na dcada de 1960 e utilizado oficialmente em 1968 na NATO Conference on Software Engineering (Conferncia sobre Engenharia de Software da OTAN).

Sua criao surgiu numa tentativa de contornar a crise do software e dar um tratamento de engenharia (mais sistemtico e controlado) ao desenvolvimento de sistemas de software complexos.
17

Introduo Engenharia de Software

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, funes, mdulos, objetos ou agentes e interconectados entre si, compondo a arquitetura do software, que

devero

ser

executados

em

sistemas
18

computacionais.

Introduo Engenharia de Software

Segundo a definio do IEEE (Institute of Electrical and Electronic Engineers), o termo Engenharia de Software pode ser descrito como: Engenharia de software: (1) aplicao de uma abordagem sistemtica, disciplinada e quantificvel, para o desenvolvimento, operao e manuteno do software; isto , a aplicao da engenharia ao software. (2) O estudo de abordagens como as de (1).

19

Introduo Engenharia de Software

Pressman, disse que: A Engenharia de software uma tecnologia em camadas. Sendo que a base em que se apoiam estas camadas o foco na qualidade do software a ser desenvolvido.

20

Introduo Engenharia de Software

A camada de processo o alicerce da engenharia de software. O processo de engenharia o adesivo que mantm unidas as camadas de tecnologias e permite o desenvolvimento racional e oportuno de softwares de computador. O processo define um arcabouo que deve ser estabelecido para a efetiva utilizao da tecnologia de engenharia de software.

21

Arcabouo:
1. Armao de uma estrutura, de uma construo. 2. Conjunto dos traos delineadores de algo. 3. Anat. Conjunto dos ossos que formam o peito. Fonte: AuleteDigital

22

Introduo Engenharia de Software

Os processos de software formam a base para o controle gerencial de projetos de software e estabelecem o contexto no qual os mtodos tcnicos so aplicados, os produtos de trabalho (modelos, documentos, dados, relatrios,

formulrios, etc) so produzidos, os marcos so

estabelecidos, a qualidade assegurada e as


modificaes so adequadamente geridas.
23

Introduo Engenharia de Software

Os mtodos de engenharia de software fornecem a tcnica de como fazer para construir softwares. Incluem as tarefas de comunicao, anlise de requisitos, modelagem do projeto, construo dos programas, testes e manuteno.

24

Introduo Engenharia de Software

As

ferramentas apoio

de

engenharia automatizado

de ou

software semi-

fornecem

automatizado para o processo e para os mtodos.

Neste contexto, chama-se engenharia de software


apoiada por computador quando ferramentas so

integradas de modo que a informao criada por


uma ferramenta possa ser utilizada por outra.
25

Introduo Engenharia de Software

Um arcabouo de processo Estabelece o alicerce para um processo de software completo pela identificao de um

pequeno nmero de atividades de arcabouo

aplicveis

todos

os

projetos

de

software,

independente de seu tamanho ou complexidade.

Alm do que o arcabouo de processo engloba um


conjunto de atividades guarda-chuva.
26

Introduo a Engenharia de Software

27

Introduo Engenharia de Software

Um arcabouo de processo genrico, contempla as seguintes atividades: Comunicao: Envolve alta comunicao e colaborao com o cliente e abrange o levantamento de requisitos e outras atividades relacionadas.
Planejamento: Estabelece um plano para o trabalho de ES que se segue. Descreve as tarefas tcnicas a ser conduzidas, os riscos provveis, os recursos que sero necessrios, os produtos de trabalho a ser produzido e um cronograma do trabalho.
28

Introduo Engenharia de Software

Modelagem: Inclui a criao de modelos que permitam ao desenvolvedor e ao cliente entender melhor os requisitos do software e o projeto que vai satisfazer a esses requisitos. Esta atividade pode ser dividida em outras duas, a saber, anlise e projeto. Construo: Combina gerao de cdigo (manual e/ou automatizada) e os testes necessrios para revelar erros no cdigo.
29

Introduo Engenharia de Software

Implantao: O software entregue ao cliente, que avalia o produto e fornece um feedback com base na avaliao.

30

Introduo Engenharia de Software

Principais atividades guarda-chuva: Acompanhamento e controle de projeto de software: Permite equipe de software avaliar o progresso com base no plano de projeto e tomar a ao necessria para manter o cronograma. Gesto de risco: Avalia os riscos que podem afetar o resultado do projeto ou a qualidade do produto. Garantia de qualidade de software: Define e conduz as atividades necessrias para garantir a qualidade do software.
31

Introduo Engenharia de Software

Principais atividades guarda-chuva: Revises tcnicas formais: Avaliam os produtos de trabalho da ES, em um esforo para descobrir e remover erros antes que eles sejam propagados para a prxima ao ou atividade. Medio: Define e rene medidas de processo, projeto e produto que ajudam a equipe a entregar um software que satisfaa s necessidades do usurio; pode ser usada conjugada com todas as outras atividades de arcabouo e guarda-chuva.
32

Introduo Engenharia de Software

Principais atividades guarda-chuva: Gesto de configurao de software: Gerencia os efeitos das modificaes ao longo de todo o processo de software. Gesto de reusabilidade: Define critrios para a reutilizao dos produtos de trabalho (inclusive componentes de software) e estabelece mecanismos para obter componentes reusveis.
33

Introduo Engenharia de Software

Principais atividades guarda-chuva:

Preparao e produo do produto do trabalho: Abrange as atividades necessrias para criar produtos do trabalho como modelos, documentos, registro, formulrios e listas.

34

Passo a palavra

Ento vamos trabalhar


35

Introduo Engenharia de Software

Conjunto de Tarefas Um conjunto de tarefas define o trabalho real a ser feito para atingir os objetivos de uma ao de engenharia de software. Por exemplo, levantamento de requisitos uma importante ao de engenharia de software que ocorre durante a atividade comunicao. O objetivo do levantamento de requisitos entender o que vrios interessados desejam do software que est sendo construdo.
36

Introduo Engenharia de Software

Conjunto de Tarefas Para um projeto pequeno e relativamente simples, o conjunto de tarefas para o levantamento de requisitos pode ter o seguinte aspecto:

37

Introduo Engenharia de Software

Conjunto de Tarefas 1. Faa um lista de interessados no projeto. 2. Convide todos os interessados para uma reunio. 3. Pea a cada interessado para fazer uma lista das

caractersticas e funes desejadas.


4. Discuta os requisitos e construa uma lista final.

5. Priorize os requisitos.
6. Observe reas de incertezas.
38

You might also like