Академический Документы
Профессиональный Документы
Культура Документы
de Software
Pressman /
Sommerville
Apresentao
/ Conceitos
Bsicos
Teoria e
Exerccios
gabrielpacheco@euvoupassar.com.br
www.tiparaconcursos.net
facebook.com/tiparaconcursos
twitter.com/gabrielfpacheco
Programao?
Quem sou eu!
Descrio do Curso.
Contedo Programtico.
Teoria.
Exerccios.
Descrio do curso.
Contedo Programtico.
Bloco I.
Apresentao do curso.
Conceitos de engenharia de software.
Bloco II.
Processos de software:
a. Seqencial Linear (cascata).
b.
c.
d.
e.
f.
g.
h.
Prototipagem.
Modelos Evolucionrios.
Processo Unificado.
Programao Extrema (XP).
Scrum.
Kanban.
RAD.
Contedo Programtico.
Bloco III.
Anlise e projeto de sistemas:
a. Anlise e projeto estruturado.
b. Anlise e projeto OO.
i.
Conceitos fundamentais.
ii.
Anlise.
iii.
Modelagem.
iv.
Padres de projeto.
v.
UML.
Contedo Programtico.
Bloco IV.
Projeto de Software:
a. Planejamento e projeto de software.
b. Conceitos e princpios de anlise.
c. Qualidade de software.
d. Mtricas de software.
e. Teste de software:
i.
ii.
iii.
f.
g.
Verificao.
Validao.
Tipos de teste.
Contedo Programtico.
Bloco V.
Tpicos avanados de Engenharia de Software:
a. Engenharia de Software Sala Limpa.
b. Engenharia de Software Baseada em
Componentes.
c. Arquitetura cliente/servidor.
d. Arquitetura Internet e web.
e. Reengenharia.
f. Engenharia de Software apoiada por
computador (CASE).
Descrio do curso.
Contedo Programtico.
Conceitos Bsicos.
Provvel concurso
Mdia salarial
R$ 1.200,00 a R$
3.000,00
R$ 3.000,00 a R$
6.500,00
R$ 8.000,00 a R$
9.000,00
R$ 10.000,00 a R$
14.000,00
At R$ 18.500,00
Conceitos Bsicos.
Software presente em todas as reas de
negcio existentes atualmente.
Fundamenta-se como insumo estratgico para
as organizaes.
Afeta todos os aspectos de nossas vidas.
Software construdo por engenheiros como
qualquer produto, aplicando-se um processo
que leva a um resultado.
Conceitos Bsicos.
Como resultado de um processo de software
temos para os engenheiros o conjunto de
programas, documentos e dados e para o
usurio a informao resultante.
Conceitos Bsicos.
Software o produto que os engenheiros de
software projetam e constroem. Abrangem
programas que executam em computadores de
qualquer tamanho e arquitetura, documentos que
incluem formas impressas e virtuais e dados que
combinam nmeros e texto, mas tambm
incluem representaes de informao em
figuras, em vdeo e em udio. (Pressman)
Conceitos Bsicos.
Software so instrues que quando
executadas fornecem a funo e o
desempenho desejados, estruturas de
dados que permitem aos programas
manipular adequadamente a informao e
documentos que descrevem a operao e o
uso dos programas (Pressman)
Conceitos Bsicos.
Caractersticas de um software:
desenvolvido, ou passa por um processo de
engenharia, no manufaturado no sentido clssico.
(hardware X software).
A fase de fabricao de um hardware gera problemas que
so facilmente corrigidos na fabricao de um software.
O trabalho realizado na fabricao dos dois muito
diferente.
Os custos so focados na engenharia, no podem ser
geridos com se fossem projetos de fabricao.
Conceitos Bsicos.
Caractersticas de um software:
Software no se desgasta.
Curva de Banheira X Curva Idealizada.
Hardware pode ter peas sobressalentes, software no.
Componentes reutilizveis.
Conceitos Bsicos.
Aplicaes de Software.
Aplicvel a qualquer situao para a qual um
conjunto previamente especificado de
procedimentos tenha sido definido.
Determinao da informao: previsibilidade da
ordem e temporizao da informao.
Aplicaes determinadas: dados com ordem pr-definida,
executa algoritmos de anlise sem-interrupo e produz
dados em forma de relatrios ou grficos.
Aplicaes indeterminadas: entradas com contedo
varivel e temporizao arbitrria, algoritmos que podem
ser interrompidos por foras externas e sadas que variam
em funo de ambiente e tempo.
Conceitos Bsicos.
Aplicaes de Software (tipos).
Observamos que atualmente a delimitao de
categorias de software bem difcil.
Software de sistemas: coleo de programas
escritos para servir outros programas. Caracterizado
pela interao com o hardware do computador, uso
de multiplos usurios, operao concorrente,
estruturas de dados complexas e interfaces externas
mltiplas (compiladores, utilitrios para gesto de
arquivos, componentes de sistemas operacionais).
Conceitos Bsicos.
Aplicaes de Software (tipos).
Software de tempo real: monitora/analisa/controla
eventos do mundo real a medida que eles ocorrem.
Contem um componente de coleo de dados, um
componente de anlise, um componente de
controle/sada e um componente de monitorao e
controle de todos os outros.
Software comercial: apresentavam-se como sistemas
discretos que evoluram para sistemas de gesto de
informao. Reestruturam os dados existentes de
modo a facilitar operaes comerciais ou tomada de
deciso de gesto de negcio.
Conceitos Bsicos.
Aplicaes de Software (tipos).
Software cientfico e de engenharia: caracterizado por
algoritmos que processam nmeros. Evoluram para uma
viso mais abrangente para tempo real e at de software
de sistemas.
Software embutido: reside nas memrias ROM e
utilizado para controlar produtos e sistemas para o
mercado consumidor e industrial.
Software para Web: a rede se transforma em um grande
computador.
Software para inteligncia artificial: utiliza algoritmos
no numricos para resolver problemas complexos que
no so passveis de computao ou anlise direta.
Conceitos Bsicos.
Aplicaes de Software (tipos).
Software para inteligncia artificial: utiliza
algoritmos no numricos para resolver problemas
complexos que no so passveis de computao ou
anlise direta. Representados inclusive por sistemas
especialistas, sistemas baseados em conhecimento
e reconhecimento de padres.
Conceitos Bsicos.
Engenharia de Software?
Engenharia de Software a criao e
utilizao de slidos princpios de engenharia a
fim de obter software de maneira econmica,
que seja confivel e que trabalhe
eficientemente em mquinas reais. (Fritz
Bauer).
Aplicao de uma abordagem sistemtica,
disciplinada e quantificvel, para o
desenvolvimento, operao e manuteno do
software; isto , aplicao de engenharia de
software. (IEEE).
Conceitos Bsicos.
Engenharia de Software?
uma tecnologia em camadas.
Tem seu foco na qualidade e melhoria contnua.
Processos mantm unidas as camadas de tecnologia,
define de reas-chave de processo.
Mtodos fornecem a tcnica de como fazer para
construir software.
Ferramentas de engenharia de software fornecem
apoio automatizado ou semi-automatizado para o
processos e para os mtodos.
Conceitos Bsicos.
Engenharia de Software?
Engenharia de software a anlise, o projeto, a
construo, a verificao e a gesto de
elementos tcnicos (ou sociais).
Qual o problema a ser resolvido?
Que caractersticas do elemento so usadas para
resolver o problema?
Como o elemento e a soluo sero realizados?
Como o elemento vai ser construdo?
Que abordagem ser usada para descobrir erros de
projeto e construo?
Como o elemento ser mantido a longo prazo?
Conceitos Bsicos.
Engenharia de Software?
Para realizar a engenharia de software
adequadamente, um processo de engenharia de
software deve ser definido. (Pressman)
Conceitos Bsicos.
Engenharia de Software?
Fases genricas:
Definio (o que): aqui ocorrer a identificao das necessidades
que o software precisa atender. Trs tarefas principais:
Engenharia de sistemas ou de informao.
Planejamento do projeto de software.
Anlise de requisitos.
Desenvolvimento (como): definio de como os dados devem ser
estruturados, como as necessidades sero atendidas. Trs tarefas
principais:
Projeto do software.
Gerao de cdigo.
Teste de software.
Conceitos Bsicos.
Engenharia de Software?
Fases genricas:
Manuteno: modificaes associadas com a correo de erros,
adaptaes necessrias, e modificao de melhorias. Aplica
internamente novamente as fases de definio e desenvolvimento
para software existente.
Correo: gera uma manuteno corretiva que altera o
software para corrigir defeitos.
Adaptao: gera manuteno adaptativa que altera o software
para acomodar mudanas no seu ambiente externo.
Aperfeioamento: gera manuteno perfectiva que aprimora o
software alm dos requisitos originais.
Preveno: gera a manuteno preventiva (reengenharia de
software) que faz modificaes de modo que os programas
possam ser mais facilmente corrigidos, adaptados e
melhorados.
Conceitos Bsicos.
Processo?
Arcabouo para as tarefas que so necessrias
para construir software de alta qualidade.
(Pressman).
Depende do software que est sendo construdo.
Modelo de processo escolhido com base na
natureza do projeto e da aplicao, nos mtodos
e ferramentas a serem usados, e nos controles e
nos produtos intermedirios e finais que so
requeridos. Descreve os processos que devem ser
realizados para o desenvolvimento de um
software.
Conceitos Bsicos.
Gesto de Projetos?
A gesto do projeto envolve o planejamento, a
monitorao e o controle do pessoal processo e
eventos que ocorrem media que o Software evolui
de um conceito preliminar para uma
implementao operacional.
Conceitos Bsicos.
Qualidade?
Fazer a coisa certa no momento certo e do jeito
certo.
Exerccios
1.
a)
Exerccios
d) A engenharia de software visa obter softwares econmicos
que sejam confiveis e que trabalhem eficientemente em
mquinas reais.
e) A engenharia de software aplica abordagem sistemtica,
disciplinada e no quantificvel para desenvolvimento e
manuteno de software.
Exerccios
(TRE-BA Analista de Sistemas 2010 Cespe) Com relao
engenharia de software, julgue os itens a seguir.
2. [52] Entre os desafios enfrentados pela engenharia de
software esto lidar com sistemas legados, atender
crescente diversidade e atender s exigncias quanto a
prazos de entrega reduzidos.
Exerccios
(TRE-BA Programador 2010 Cespe) Em uma viso restritiva,
muitas pessoas costumam associar o termo software aos
programas de computador. Software no apenas o programa, mas
tambm todos os dados de documentao e configurao
associados, necessrios para que o programa opere corretamente.
A respeito de engenharia de software, julgue os itens.
3. [61] A engenharia de software est relacionada com todos os
aspectos da produo de software, desde os estgios iniciais de
especificao do sistema at sua manuteno, depois que este
entrar em operao. A engenharia de sistemas diz respeito aos
aspectos do desenvolvimento e da evoluo de sistemas
complexos, nos quais o software desempenha um papel
importante.
Exerccios
4.
Exerccios
(Banco da Amaznia TI 2010 Cespe) Com relao aos conceitos
de desenvolvimento de sistemas, julgue os itens a seguir.
6. [74] Os princpios de engenharia de software definem a
necessidade de formalidades para reduzir inconsistncias e a
decomposio para lidar com a complexidade.
7.
[75] Para garantir o desenvolvimento de qualidade, suficiente
que a equipe tenha as ferramentas mais atuais de engenharia de
software e os melhores computadores.
(Embasa Desenvolvimento 2010 Cespe) Acerca de princpios de
engenharia de software, julgue os itens a seguir
8. [67] Um modelo de processo de software descreve os processos
que so realizados para atingir o seu desenvolvimento. A notao
para as tarefas, os artefatos, os atores e as decises varia
conforme o modelo de processo utilizado.
Gabarito
1.
2.
3.
4.
5.
6.
7.
8.
D
C
C
C
E
C
E
C
gabrielpacheco@euvoupassar.com.br
www.tiparaconcursos.net
facebook.com/tiparaconcursos
twitter.com/gabrielfpacheco
Engenharia
de Software
Pressman /
Sommerville
Mais
Conceitos e
Processos de
Software
Teoria e
Exerccios
gabrielpacheco@euvoupassar.com.br
www.tiparaconcursos.net
facebook.com/tiparaconcursos
twitter.com/gabrielfpacheco
Contedo Programtico.
Mais Conceitos.
Processos de Software.
Seqencial Linear (cascata).
Prototipagem.
RAD.
Modelos Evolucionrios.
Engenharia de Software baseada em
componentes.
Processo Unificado.
Programao Extrema (XP).
Scrum, Kanban.
Conceitos Bsicos.
Software so programas de computador e
documentao associada. Os produtos de
software podem ser desenvolvidos para um
cliente especfico ou para um mercado gera.
(Sommerville)
Engenharia de software uma disciplina de
engenharia relacionada a todos os aspectos de
produo de software. (Sommerville)
Conceitos Bsicos.
Cincias da computao est relacionada com
teorias e fundamentos; Engenharia de software
est relacionada com prtica de desenvolvimento
e entrega de software til. (Sommervile)
Processo de software um conjunto de
atividades cujo objetivo o desenvolvimento ou a
evoluo de software. (Sommervile)
Modelo de processo de software uma
representao simplificada de um processo de
software, apresentada sob perspectiva especfica.
(Sommervile)
Conceitos Bsicos.
60% do software desenvolvimento e 40 %
teste.
A engenharia de sistema est relacionada a todos
os aspectos de desenvolvimento de sistemas
baseados em computadores, incluindo hardware,
software e engenharia de processo. A engenharia
de software parte desse processo.
(Sommerville)
Contedo Programtico.
Mais Conceitos.
Processos de Software.
Seqencial Linear (cascata).
Prototipagem.
RAD.
Modelos Evolucionrios.
Engenharia de Software baseada em
componentes.
Processo Unificado.
Programao Extrema (XP).
Scrum, Kanban.
Processos de Software
Processo de software um conjunto de
atividades que leva produo de um produto de
software. (Sommerville)
Um pouquinho de histria.
Os modelos encontrados no mercado no so
mutuamente excludentes e so na verdade
usados em conjunto.
Quebrando mitos: So escolhidos conforme a
natureza do projeto.
Exerccios
(MPS TI - 2010 CESPE) Com relao metodologia de
desenvolvimento de software, julgue os itens a seguir.
1. [76] No modelo espiral, que possui uma diviso
inflexvel em estgios distintos, determinada fase de um
processo somente se inicia quando a anterior estiver
concluda e aprovada pelas partes envolvidas.
2. [77] O modelo de desenvolvimento em cascata prev a
prototipao e os desenvolvimentos evolutivo e cclico do
software.
Exerccios
Exerccios
(MPS TI - 2010 CESPE) Na figura acima, que apresenta
o ciclo de vida clssico da engenharia de software, os
nomes de duas etapas foram substitudos pelos nmeros 1
e 2. Considerando essa figura, julgue os itens a seguir.
3. [82] Garantir que as entradas definidas em um ciclo de
vida clssico, tal como o mostrado na figura, produzam
resultados reais que concordem com os resultados
exigidos uma atividade da etapa de teste.
4. [83] As etapas identificadas na figura por 1 e 2 so,
respectivamente, projeto e instalao.
Exerccios
5. (MPE - SE Gesto e Anlise - 2010 CESPE) 6. No
desenvolvimento de um software, qualquer que seja o
mtodo escolhido, estar refletido em um ciclo de vida de
desenvolvimento. Nesse aspecto, a parte em que o
modelo espiral incorpora os conceitos do modelo de
prototipao o
a) primeiro quadrante.
b) segundo quadrante.
c) terceiro quadrante.
d) quarto quadrante.
e) terceiro e quarto quadrantes.
Exerccios
6. (MPE - RN Gesto e Anlise - 2010 CESPE) 7. No
modelo de desenvolvimento de software em espiral, cada
loop na espiral representa
a) a necessidade de retornar ao incio da fase em que se
encontra.
b) um processo de reengenharia.
c) uma disciplina de software.
d) uma fase do processo de software.
e) uma atividade paralela.
Exerccios
7. (MPE - RN Gesto e Anlise - 2010 CESPE) 8. O
modelo em espiral difere principalmente dos outros
modelos de processo de software por
a) no contemplar o prottipo.
b) reconhecer explicitamente o risco.
c) no ter fases.
d) possuir uma fase nica evolucionria.
e) no contemplar o projeto do produto.
Gabarito
1.
2.
3.
4.
5.
6.
7.
E
E
C
E
D
D
B
gabrielpacheco@euvoupassar.com.br
www.tiparaconcursos.net
facebook.com/tiparaconcursos
twitter.com/gabrielfpacheco