Академический Документы
Профессиональный Документы
Культура Документы
Sistemas
Engenharia de Software
Aula 01
Agenda
Apresentao do docente
Comunicados importantes
Metodologia de ensino empregada
Bibliografia indicada
Avaliaes
Contedo Programtico
Introduo Engenharia de Software (Nivelamento e case inicial)
Dvidas?
Prof Anderson Siqueira Julho / 2015 Aula 1
Apresentao
Docente
Apresentao Docente
Formao, experincia & linhas de pesquisa:
Graduao em Administrao de Sistemas de Informao (IBERO, 1997);
Aperfeioamento em Marketing (FASP, 2001);
Especializao em Sistemas de Computao (UFU, 2005);
Especializao em Tecnologias e Sistemas de Informao (UFABC, 2011);
Mestrado em Engenharia da Informao (UFABC, 2014);
Mais de 20 anos de experincia no mercado de TI, desenvolvimento, consultoria
e atuando com projetos (PMI);
Docente FATEC, FAMA, Tutoria em curso de Especializao na UFABC.
Prof Anderson Siqueira Julho / 2015 Aula 1
Apresentao Docente
LATTES e contato:
LATTES: http://lattes.cnpq.br/7967924494958799;
Contato : siqueirastos.ifsp@gmail.com
Comunicados importantes
Comunicados
Aulas tericas & prticas com Prof Anderson;
Uso de celular (desligado e/ou sem som);
Sem uso de fones de ouvido;
Alimentos so proibidos dentro do INFO;
Desligar os computadores ao trmino da aula, por favor;
Participao dos alunos nas aulas, com questes, cases e afins;
Prof Anderson Siqueira Julho / 2015 Aula 1
Comunicados
Evitem conversas paralelas (h muita teoria);
Relao com o ENADE;
Faltas : ateno as suas faltas. Limite 75%, mais que isso h
reprovao;
E-mail, mais uma vez: siqueirastos.ifsp@gmail.com
Metodologia de Ensino
Metodologia
Metodologia e estratgia de ensino:
Aulas expositivas / dialogadas (slides e/ou lousa);
Desenvolvimento de atividades individuais (programas) em
laboratrio;
Anlise de situaes-problema;
Desenvolvimento de projeto de software, em grupo.
10
Bibliografia recomendada
Bibliografia
Bsica:
SOMMERVILLE, I. Engenharia de software. 8.ed. Addison
Wesley, 2007.
PRESSMAN, Roger S. Engenharia de Software: Uma
Abordagem Profissional. 7.ed. Bookman, 2011.
KONCIANSKI, A.; SOARES, M. S. Qualidade de Software.
Novatec, 2006.
12
Bibliografia
Complementar:
BECK, K. TDD - Desenvolvimento Guiado por Testes. Bookman,
2010.
BROD, C. Scrum guia prtico para projetos geis. So Paulo:
Novatec, 2013.
COCKBURN, A. Escrevendo Casos de Uso Eficazes: Um guia
prtico para desenvolvedores de software. Bookman, 2005
13
Bibliografia
Complementar:
COHEN, M. Desenvolvimento de software com Scrum. Porto
Alegre: Bookman, 2011
______. Treinamento Scrum. Disponvel em
http://www.mountaingoatsoftware.com/
DAVIS, S.; MEYER, C. Blur: a velocidade da mudana na
economia integrada. Rio de Janeiro: Campus, 1999.
14
Bibliografia
Complementar:
FITZPATRICK, B. W.; COLLINS-SUSSMAN, B. Equipes de
software. So Paulo: Novatec, 2012
FOWLER, M. Refatorao Aperfeioando o projeto de cdigo
existente. Bookman, 2004.
KANAT-ALEXANDER, M. As leis fundamentais do projeto de
software. So Paulo: Novatec, 2012
15
Bibliografia
Complementar:
NOGUEIRA, M. Engenharia de Software - Um Framework.
Cincia Moderna, 2009.
PEZZE, M.; YOUNG, M. Teste e Anlise de Software. Bookman,
2008.
PILONE, D.; MILES, R. Use a cabea! Desenvolvimento de
Software. Alta Books, 2008.
PRESSMAN, R.S. Engenharia de Software. So Paulo: Pearson
Makron Books, 2007.
Prof Anderson Siqueira Julho / 2015 Aula 1
16
Avaliaes da disciplina
Avaliaes
Avaliaes a serem aplicadas:
Mdia Final = (60%*P1 + 40%*T1) +
( (50%*P2 + 40%*T2) + ENADE)
Provas (P): Sero aplicadas duas avaliaes tericas P1 e P2.
Trabalhos (T): Sero aplicados dois trabalhos T1 e T2.
ENADE: ponto do simulado do ENADE (at 1 ponto)
Prof Anderson Siqueira Julho / 2015 Aula 1
18
Avaliaes
Avaliaes DATAS previstas:
P1 17/09/2015;
T1 21/09/2015;
P2 26/11/2015;
T2 30/11/2015;
IFA 10/12/2015.
Prof Anderson Siqueira Julho / 2015 Aula 1
19
Contedo Programtico
Tpicos a serem abordados:
Introduo a Engenharia de Software;
Processo de Software;
Engenharia de Requisitos;
Verificao e Validao de Software;
Gerenciamento de Configurao.
Prof Anderson Siqueira Julho / 2015 Aula 1
21
Introduo
Engenharia de Software
Case
Processamento de arquivos transacionais em relao aos dias de hoje
(menos integrao, para comear o problema)
24
Nivelamento
Dado, informao e conhecimento
Dados
Dados ou dado:
Registros de observaes ao longo de uma srie temporal
(ou no);
So isolados, mas devem ser precisos;
Fora de sequencia lgica, no permitem o conhecimento e
MUITO menos a tomada de deciso;
Devem representar a rea de domnio.
Prof Anderson Siqueira Julho / 2015 Aula 1
26
Dados: exemplos
Valor da massa corporal do sujeito;
Idade de uma pessoa;
Valor do salrio;
Vermelho (cor);
Valor da TR (Taxa de referncia);
Nome de um produto.
Prof Anderson Siqueira Julho / 2015 Aula 1
27
Informao
A informao :
Conjunto de dados registrados em ordem/lgica que permita
a compreenso;
No isolada;
Organizada em um sequencia lgica que permite o
conhecimento e a tomada de deciso;
Deve ser precisa e representar a rea de domnio em questo.
Prof Anderson Siqueira Julho / 2015 Aula 1
28
Informao: exemplos
O Os O A UM saldo investimentos DBA salrio ma
do da Joo Oracle Argentina conta de de um
vermelho forte que brilha de 4.000,00 cada corrente
aluno do cuja da Carlos profisso turma
Desenvolvedor chega de a Engenharia receber de de
Software 15.000,00
12.000,00 somam por 1.000.000,00 ms
29
Conhecimento
Conhecimento :
O processo de aprender com a informao, ponderar;
Informaes teis para um propsito, permitem que o sujeito
compreenda os fatos. Aps a anlise, surge o conhecimento;
Tomar cincia dos fatos, aprender com eles e assim tomar
decises mais precisas (dentro do possvel).
30
Conhecimento: exemplos
Exemplos:
31
Engenharia de Software
Conceito
33
Engenharia de Software
Conceito, envolve:
Processos (conjunto de atividades);
Conjunto de mtodos (tcnicas, prticas);
Conjunto de ferramentas (normalmente, softwares CASE);
Est relacionada produo de software.
OBJETIVO: gerar software de QUALIDADE
Prof Anderson Siqueira Julho / 2015 Aula 1
34
Engenharia de Software
O que se espera do ENGENHEIRO DE SOFTWARE?
Seja organizado e sistemtico;
Empregar ferramentas apropriadas (IDEs);
Usar tcnicas apropriadas (O.O., Engenharia de Requisitos);
DEPENDE do problema, das restries e dos recursos
envolvidos
35
Engenharia de Software
DICA: Recursos escassos , a prtica, conceito e exemplos
Crditos:
http://www.christianbarbosa.com.br/bet
a/bn_conteudo_artigos.asp?cod=280&o
pr=113
Crditos:
http://www.libertarianismo.org/index.p
hp/artigos/caros-politicos-recursos-saoescassos/
Crditos:
http://tombrito.ninjasdaweb.com/2013/
12/01/redes-neurais-doreconhecimento-de-caracteres-para-oreconhecimento-de-ruas/
Crditos:
https://falandodeconsultoria.wordpress.com
/2014/01/15/vida-de-vendedor-saiba-comoatender-10-tipos-de-clientes/
Crditos:
http://trivialjuridico.com.br/?p=1203
36
Engenharia de Software
Diferenas entre ES e Cincia da Computao (CC)
CC dedicao teoria e fundamentos da computao;
ES prtica, com uso de tcnicas & processos.
Desenvolvimento de software e a sua entrega para uso. E
com qualidade!
37
Engenharia de Software
Diferenas entre ES e Engenharia de Sistemas (ESis)
Esis dedicao ao desenvolvimento de sistemas para
computadores, aliando software, hardware e o processo;
ES parte da Esis. Est envolvida na especificao,
arquitetura, construo, integrao e implantao de
sistemas. E com qualidade!
38
Software
Conceito & importncia
Software
Conceito:
Programa executvel com finalidade especfica;
lgico, intangvel;
A documentao associada (requisitos, modelos e
manuais de usurios);
Dados.
Prof Anderson Siqueira Julho / 2015 Aula 1
40
Software
Exemplos:
http://www.firebirdsql.org/
http://www.microsoft.com/pt-br/server-cloud/products/sql-server/
http://www.mysql.com/
http://www.oracle.com
http://www.postgresql.org/
41
Software
Importncia do Software:
Tecnologia nica mais importante no cenrio mundial, segundo
Pressman (2011)
42
Software
Lei das consequncias no intencionais:
Software um EXEMPLO desta lei, de forma que no foi
possvel prever a importante contribuio que tem nas mais
diversas reas do conhecimento humano, dentre elas:
Medicina
Engenharia
Pesquisa
Internet
Equipamentos
43
44
Software
Software
Aplicaes : e ser cada vez mais crescente, demandando
assim:
Novas tcnicas de desenvolvimento;
Velocidade no desenvolvimento;
Com foco na qualidade.
45
Software
Softwares para apoio ao desenvolvimento (circulo virtuoso):
46
Software
Natureza do Software
Como PRODUTO: adquire, produz, armazena, modifica,
transmite, codifica (decodifica) informaes (simples ou
complexas);
Como DISTRIBUIR: atuando, por exemplo, como um
Sistema Operacional, na comunicao de informaes dentro
de uma estrutura de rede.
47
Software
Questes do programador solitrio MAS que so as mesmas
das equipes de desenvolvimento atuais (PRESSMAN, 2011, pg
21)
1. Por que concluir um software leva tanto tempo?
2. Por que mantemos tanto tempo e esforo para mantendo
programas existentes?
48
Software
Software fabricado?
Crditos: http://www.tagview.com.br/
Crditos: http://www.cpcon.eng.br/gestao-patrimonial/gestao/producao-inventarios/
Processo de ES;
Custos se concentram na
engenharia;
No se desgasta, mas se
deteriora;
Complexo para manuteno;
Sem componentes de reparo;
No tem poeira.
Hardware se desgasta;
Custos se concentram
produo (todo o processo);
Tem componentes para
reparo;
Influenciado pela poeira,
ambiente
49
Software
Em termos de reutilizao de componentes
Hardware
Software
Ainda em fase inicial;
Passos j foram dados e
melhorou muito;
J existem componentes
reutilizveis que
encapsulam dados e
codificao funcional (O.O.).
Padro no uso de
componentes (CIs por
exemplo);
Mesmo tipo de componente
pode ser usado em vrios
projetos diferentes;
O engenheiro foca na
inovao e no nos
componentes;
50
Software
Sete categorias de aplicao do software (PRESSMAN, 2011)
Software para linha de
produtos
Aplicaes para WEB
Sistema
Aplicao
Cientfico/Engenharia
Software Embutido
51
Software
Abrindo aspas com a qualidade
Software
Qualidade:
Qualidade tem sua prtica desde os mais remotos tempos.
Exemplo: o cbito;
Nos anos 40 teve incio do Japo, bem como a criao da ABNT
no Brasil e a ISO;
Philip Crosby
Erro zero;
Qualidade conformidade com os requisitos. Exemplos.
Prof Anderson Siqueira Julho / 2015 Aula 1
53
Software
Aps a qualidade, voltamos aos conceitos
Software
Softwares para Sistemas
Aqueles que interagem com o HW e executam outras
aplicaes a partir dele. Exemplos:
55
Software
Softwares para aplicaes
Aqueles que do apoio ao processo de negcios. Exemplos:
56
Software
Softwares Cientfico / Engenharia
Clculos complexos;
Processamento pesado, como imagens, Biologia Molecular;
Uso para apoio em pesquisas cientficas, tanto o Software como
o HW devem ter bom poder de processamento.
57
Software
Softwares Cientfico / Engenharia
Clculos complexos;
Processamento pesado, como imagens, Biologia Molecular;
Uso para apoio em pesquisas cientficas, tanto o Software como
o HW devem ter bom poder de processamento.
58
Software
Software EMBUTIDO
Residentes em equipamentos, mas com funo de gesto e/ou
de apoio a funcionalidades;
59
Software
Software para linha de produtos
Determinados produtos com mercado limitado e
personalizado.
60
Software
Software para Inteligncia Artificial
Uso em aplicaes complexas (robtica, reconhecimento de
padres);
Redes Neurais Artificiais;
Uso em Aprendizado de Mquina.
61
Software
Aplicaes para WEB (mais recente)
Meados da dcada de 90 e as opes de acesso internet;
Neste mesmo perodo, pginas MUITO estticas, com grficos
pobres;
HTML em conjunto com o Java permitiu aos engenheiros de ES
desenvolverem aplicaes para WEB mais dinmicas.
62
Software
Aplicaes para WEB e seus atributos (mais recente)
Uso intensivo de redes;
Simultaneidade, muita gente acessando ao mesmo tempo;
Carga no previsvel. Em um dia, um determinado nmero de
usurios; em outro um nmero menor. Ou maior;
Desempenho. Um bom exemplo de Marketing/CRM;
Orientados a dados. Alm de ser hipermdia, acessa dados de BDs;
Prof Anderson Siqueira Julho / 2015 Aula 1
63
Software
Aplicaes para WEB e seus atributos (mais recente)
Sensibilidade no contedo. Forte relao com a qualidade do
contedo;
Evoluo contnua. Conforme as demandas, que podem ser de
mercado e/ou tecnolgicas;
Imediatismo. Aplicao deve ser desenvolvida rapidamente, e
muitas vezes, pode passar por modificaes em poucos dias;
Segurana. HTTPS imperativo bem como outras prticas de
segurana. Estar na WEB um risco.
Prof Anderson Siqueira Julho / 2015 Aula 1
64
Software
Aplicaes para WEB e seus atributos (mais recente)
Esttica: orte relao com a IHC, o que determina a qualidade da
pgina;
Evoluo contnua. Conforme as demandas, que podem ser de
mercado e/ou tecnolgicas;
Imediatismo. Aplicao deve ser desenvolvida rapidamente, e
muitas vezes, pode passar por modificaes em poucos dias;
Segurana. HTTPS imperativo bem como outras prticas de
segurana. Estar na WEB um risco.
Prof Anderson Siqueira Julho / 2015 Aula 1
65
Prxima aula
Aula 2 - previso
Engenharia de Software continuao;
Camadas da Engenharia de Software;
Processos de software e seus modelos.
67
Dvidas ?