Anda di halaman 1dari 29

Prof.

Erivelton da Silva Rocha Graduao: Licenciatura Plena em Computao Especialista em Engenharia de Sistemas

Engenharia de Software Aula - 02

A Engenharia de Software basicamente tenta apresentar

processos, ferramentas e mtodos que permitam desenvolver


de forma racional e controlvel um Sistema Computacional. Todo o foco a Qualidade, utilizando um mtodo eficaz e o

uso de ferramentas adequadas.

Segundo (Fritz Bauer, 1969):


o estabelecimento e uso de slidos princpios de

engenharia para que se possa obter economicamente um software que seja confivel e que funcione

eficientemente em mquinas reais.


Foco nos objetivos
Economia Confiabilidade Eficincia
4

Segundo Arndt Von Staa (1987):


O desenvolvimento e a aplicao de cincia, matemtica,

tcnicas, mtodos e ferramentas para o desenvolvimento e a manuteno econmica de software de qualidade preditvel e

controlvel, operando de modo econmico em mquinas e


ambientes reais.
Foco nos objetivos
Economia Eficincia Qualidade preditivel e Manuteno
5

Mtodos, Ferramentas e Procedimentos definidos na disciplina de Engenharia de Software:

Permitem que o gerente controle todo o processo de desenvolvimento do

software
Oferecem ao profissional desenvolvedor uma base para construo de um

software de alta qualidade


Levam produo de um software que atenda aos requisitos e expectativas

do cliente.
6

Proporcionam aos detalhes de Como Fazer para construir o

Software
Envolve um amplo conjunto de tarefas que incluem:
Planejamento e estimativa de projeto Anlise de requisitos Projeto de estrutura de dados

Algoritmo de processamento
Codificao Teste Manuteno

Incluem ainda critrios de para medir a qualidade do software

Podem auxiliar o desenvolvimento de software em

diversos nveis:
Apenas ambientes para codificao

Apoio semi-automtico

Apoio automatizado

Ferramenta CASE (Computer-Aided Software Engineering)


Ambientes de apoio ao desenvolvimento de software. Podem incluir diferentes ferramentas integradas, de forma

que a informao gerada por uma das ferramentas do


ambiente possa ser utilizada por uma ferramenta do mesmo ambiente.

Indicam como executar, na pratica, as tarefas pelos

mtodos.
Podem indicar:
A seqncia com quais os mtodos sero aplicados Os produtos a serem entregues(documentos, relatrios) Controle de qualidade Coordenao de mudanas Etc...

10

Para que se possa entender o que software importante

examinar as caractersticas que o tornam diferentes das


outras que os seres humanos constroem
Quando o hardware construdo, o processo criativo

humano traduzido numa forma fsica

11

O software um sistema lgico. Portanto tem caractersticas

consideravelmente diferentes.
O software desenvolvido ou projetado por engenharia, no

manufaturado no sentido clssico (No processo mecnico)


O software no se desgasta A maioria dos softwares feita sob medida em vez de ser

montada a partir de componentes existentes

12

So criados por meio de uma srie de converses que

mapeiam as exigncias do cliente para o cdigo executvel em mquina.


O Modelo das Exigncias Projeto

Codificao
Em Linguagem

O componente deve ser projetado e implementado de forma

que possa ser reusado em muitos programas diferentes.


13

As linguagens em uso: Linguagem de mquina

Uma representao simblica do conjunto de instrues da CPU.


Linguagens de Alto Nvel: Pascal, C, ADA, C++, Object Pascal, Eiffel,

Lisp, Prolog, etc...


Permitem que o desenvolvimento de software e o programa sejam

independente da mquina.
Linguagens no procedimentais: Linguagem de Banco de Dados.

Ao invs de especificar os detalhes de procedimento, a linguagem

no-procedimental subtende um programa especificando o resultado desejado, em vez de especificar a ao exigida para se conseguir este resultado.
14

Dessa forma, a Engenharia de Software assume um papel

crtico para garantir que tarefas, dados, pessoas e tecnologias estejam apropriadamente alinhadas para produzir um sistema efetivo e eficiente.

15

Para reconhecer e entender a importncia da Engenharia de

Software, preciso primeiro saber qual a importncia dos softwares.


Para isso, necessrio em primeiro lugar entender o que um

software.

16

Vejamos brevemente duas definies de software de forma

resumida
Software conjuntos de programas,documentao e procedimentos

operacionais com os quais pode-se fazer com computadores e outros dispositivos eletrnicos sejam teis aos homens.
Os programas so conjuntos de instrues arranjadas de forma que

possam entendidas e executadas por um computador.

Em segundo lugar, necessrio compreender a vasta gama

de tipos de aplicao de software.

17

Bsico Tempo Real Comercial Cientifico e de Engenharia Embutido Computador Pessoal Inteligncia Artificial

18

Tambm conhecido como software de sistema.

Se caracteriza por uma forte interao com hardware

do computador.
Executa as funes de controle que permitem que o

software aplicativo tenha interface com outros elementos do sistema.


Exemplos:

sistemas

operacionais,

compiladores,drivers, etc...
19

Podem ter diversas funes e ser dividido em categorias:


Software de Tempo Real Software Comercial Software Cientfico e de Engenharia Software Embutido Software de Computador Pessoal

Software de Inteligncia Artificial


Software Baseado na Web
20

Funes de monitoramento, anlise e controle de

eventos
A resposta do sistema deve obedecer a severas

restries de tempo (por ex., entre 1 milissegundo e


1 minuto)
Exemplos: controle de trfego areo, relgio digital

21

Uma das maiores reas de aplicao de software


Facilitam operaes comerciais e tomadas e decises

administrativas.
Exemplos:
Folha de pagamentos; Contas a receber; Controle de estoque,etc...

22

Caracteriza-se pelo processamento de dados

numricos
Exemplos:astronomia,vulcanologia, anlise da fadiga

e materiais, biologia molecular, etc...


Outros exemplos: auxlio de desenvolvimento de

projetos, como os programas CAD (Computer-Aided


Designer)
23

Controle de produtos e sistemas para os mercados

industriais e de consumo
Exemplos:
Controle do teclado de fornos de microondas Funes digitais de automveis (como controle de

combustvel, mostradores no painel e sistemas de

freio.
Etc...
24

Esta categoria envolve diversos tipos de software

utilizados para diferentes fins.


Exemplos:
Processadores de textos
Planilhas eletrnicas Jogos Gerenciamento de dado Etc...

25

Faz uso de algoritmos no-numricos para resolver problemas

complexos que no sejam favorveis computao ou anlise direta.


Atualmente a rea de IA mais ativa a dos Sistema Especialistas,

tambm chamados de Sistemas Baseados em Conhecimentos.


Outras reas de aplicao de software de IA so: reconhecimentos

de padres (voz e imagem), jogos e demonstrao de teoremas.

26

Nos ltimos anos, desenvolveu um novo ramo do software de

IA, chamado de Redes Neurais Artificiais.


Uma rede Neural simula a estrutura dos processos cerebrais e

pode levar a uma nova classe de software que consegue reconhecer padres complexos e aprender com a experincia passada.

27

Sistema feitos para serem utilizados na internet por

meio de um browser.
Tecnologias: HTML, ASP, CGI, PHP, Java, XML, etc...
Pginas pessoais
Portais Consulta a base de dados Etc...
28

Qual a diferena para software bsico para software aplicativo? 2. Quais so as 7 principais categorias d software aplicativo? D um exemplo de cada categoria. 3. Quais so as caractersticas da 1 era dos softwares? 4. Quais so as caractersticas da 2 era dos softwares? 5. Quais so as caractersticas da 3 era dos softwares? 6. Quais so as caractersticas da 4 era dos softwares? 7. Em qual era comearam a surgir problemas com os softwares? 8. Como a crise do software levou ao surgimento da Engenharia de software? Comente. 9. Quais so os principais objetivos da engenharia de Software? 10. Quais os trs elementos da engenharia de software? Comente-os. 29
1.

Anda mungkin juga menyukai