Você está na página 1de 54

UNIVERSIDADE FEDERAL DE SERGIPE

DEPARTAMENTO DE COMPUTAO
SISTEMAS DE INFORMAO

ENGENHARIA DE
SOFTWARE PARA SI I

Apresentao e Introduo

Profa. Dra. Adicinia Aparecida de Oliveira


2016/1
Roteiro
Apresentao

Objetivo

Contedo programtico

Metodologia

Bibliografia
Apresentao
32 anos vivncia na rea de informtica.
11 anos como Gerente de TI.
4 anos Coordenadora TI do HU/UFS.
Professora Universitria (27 anos).
Doutora em Engenharia Eltrica Sistemas
Digitais POLI/USP.
Mestre em Administrao PUC/SP.
Especialista em Projeto de Sistemas
FACESP/SP.
Administradora e Tcnica em Processamento
de Dados.
Pesquisadora e consultora.
Atuao

Docente no DCOMP, orientadora no Programa de


Ps-Graduao em Cincia da Computao
(PROCC) e no Programa de Ps-Graduao em
Cincias da Sade.

Chefe do Setor de Gesto de Processos e TI do


Hospital Universitrio da UFS/EBSERH.

Lder do GEPIS Grupo de Estudos e Pesquisas


em Informtica em Sade.

Coordenadora no Projeto CeTS Centro de


Pesquisa, Inovao e Difuso do Estado de
Sergipe, em processo de instalao no Parque
Tecnolgico, fruto da parceria UFS e Sergipetec.
Linhas de Pesquisa & Desenvolvimento

e-Health
m-Health

Teleme
-dicina
Telesa
-de
Hospital
IS

SAD
Serious
Game
Hospital Universitrio

HU/UFS
Apresentao da disciplina
Objetivos

Geral
Capacitar o discente para projetar e conduzir
processos de desenvolvimento de software.
Aplicar os conceitos e tcnicas em um projeto
prtico.

Especficos
Ao trmino da disciplina o aluno dever ser capaz
de:
Conhecer e utilizar os fundamentos de engenharia de
software.
Identificar e especificar os requisitos iniciais do
software atravs da utilizao de metodologias e
ferramentas.
Contedo programtico
Conceitos de engenharia de software.
Objetivos e princpios de engenharia de software.
Problemas da engenharia de software.
Fatores de qualidade de software, produtividade e controle no desenvolvimento de software.
Produto x Processo. O ciclo de vida do software.
Histrico das metodologias de projeto de sistemas.
Processos de desenvolvimento de software.
Metodologias de desenvolvimento de projetos orientados a objetos.
Engenharia de requisitos.
Modelagem e especificao de requisitos de software.
Anlise, validao e verificao de requisitos de software.
Anlise e projeto de sistemas orientados a objetos.
Linguagens de modelagem.
Ferramentas para modelagem e especificao de requisitos de software.
Metodologia e Avaliao

Metodologia:
Aulas expositivas.
Aulas prticas.
Debates e seminrios.
Desenvolvimento de um projeto prtico.

Componentes da avaliao:
Prova 1 e 2 (22/08 e 03/10) s 17h.
Projeto = 4 fases (documentaes + prottipo + apresentao):
Fase I =
Fase II =
Fase III =
Apresentao final = data a ser definida com duplas (incio de outubro).
Participao + Trabalhos Individuais (seminrios, exerccios e
outros).
Avaliao
A avaliao de cada aluno ser realizada atravs de provas, projeto (relatrios e
apresentaes) e trabalhos individuais, e a nota final apurada da seguinte maneira:
Nota Final = (0,45 x PV) + (0,45 x PJ) + (0,1 x TI).
Onde:
PV = Mdia das notas das provas.
PJ = Mdia das notas do projeto.
TI = Mdia das notas dos trabalhos individuais.

Observar que a nota do projeto ser considerada na mdia final, desde que a
mdia das notas das provas seja maior ou igual a 5,0.
Todos os trabalhos e atividades tero desconto de 1,0 ponto por dia de atraso.
Cuidado com as faltas: o limite de faltas de 25%. Administre-as!!!!
Projetos 2013
1. Gesto do Centro Cirrgico Mdulo Gesto de Cirurgias
2. SI Laboratrio de Cicatrizao
3. Gesto Banco de Sangue
4. Jogo de Diagnstico Emergncia
5. Gesto de Lminas Patologia
6. Pronturio Eletrnico de Paciente
7. Gerenciador de Pesquisas do HU
8. SI Nutrio Mdulo HCOR
9. SI Servio Social Mdulo Cirurgia Baritrica I
10. SI Nutrio Mdulo Cirurgia Baritrica II
11. SI Psicologia Mdulo Cirurgia Baritrica III
12. SI Acompanhamento e Evoluo Mdulo Cirurgia Baritrica IV
Projetos 2014
1. Jogo de Diagnstico Emergncia
2. Gesto de Lminas Patologia
3. Gerenciador de Pesquisas do HU
4. Gerenciador de Videoconferncias
5. Gerenciador de Laudos
6. Lista de presena para dispositivo mvel (integrado
com o SIGAA)
7. Avaliao Contnua para aulas prticas Ambulatrio
8. Sistema de Protocolo
9. Sistema de Avaliao de Enfermagem
Projetos 2015
1. Painel de Infraestrutura e Redes
2. Painel PDE
3. Painel Estoque (Farmcia e Almoxarifado)
4. Painel Financeiro
5. Painel Principal verso para smartphone
6. Gesto de Lminas Patologia
7. SI Acompanhamento e Evoluo Mdulo Cirurgia Baritrica IV
8. Gerenciador de Pesquisas do HU
9. Gerenciador de Eventos
10. Gerenciador de Ocorrncias
11. Sistema Gerenciador de Atendimento
12. Sistema de Informao para DOT Tratamento Odontologico para crianas especiais
13. Jogo para Pediatria
Projetos 2016
1. Monitoramento de Eventos Adversos
2. Estetoscpio Digital para ensino em sade
3. Jogos para Pediatria (smartphone/desktop)
4. Acompanhamento Colesterol (smartphone)
5. SI Unidade de Reabilitao
6. Sistema Avaliao de Apresentaes/Projetos
7. Melhorias e novas funcionalidades:
Gesto de Lminas Patologia
Gerenciador de Pesquisas do HU
Gerenciador de Eventos
Painel Estoque (Farmcia e Almoxarifado)
Painel Principal verso para smartphone
Sistema Laboratrio de Feridas
Sistema de Informao para DOT Tratamento Odontolgico para crianas especiais
SBC Revista Computao Brasil

http://sbc.org.br/index.php?option=com_flippingbook&view=book&id=21
Bibliografia
1. REFERNCIAS BSICAS
PRESSMAN, R.S. Engenharia de Software. 8 Edio. Rio de Janeiro: McGraw-Hill, 2016.

PRESSMAN, R.S. Engenharia de Software. 7 Edio. Rio de Janeiro: McGraw-Hill, 2011.

SOMMERVILLE, Ian. Engenharia de Software. 9 Edio. So Paulo: Addison-Wesley, 2011.

2. REFERNCIAS COMPLEMENTARES
LIMA, Adilson da Silva. UML 2.5 Do Requisito Soluo. 1. Edio. So Paulo: Editora rica. 2014.

PENDER, Tom. UML A Bblia. So Paulo: Editora Campus, 2004.


Iniciando...

O que
Engenharia
de Software?
Introduo Engenharia de Software
Introduo

Conceitos iniciais de Engenharia de Software.


Objetivos
Introduzir a Engenharia de Software e explicar
sua importncia.
Responder perguntas importantes que
proporcionam uma introduo engenharia de
software.
Introduzir questes profissionais e ticas
relevantes para os engenheiros de software.
Engenharia de Software
As economias de todas as naes desenvolvidas so dependentes de
software.
Cada vez mais sistemas so controlados por software.
A engenharia de software se preocupa com teorias, mtodos e
ferramentas para o desenvolvimento de software profissional.
Gastos com Engenharia de Software representa uma frao significativa
de todos os pases desenvolvidos.
Custos de Software
Custos de software em geral dominam o custos do sistema. Os custos de
software em um PC so, em geral, maiores que o custo do hardware.
Em Software, custa-se mais para manter do que para desenvolver. Para
sistemas de vida til longa, os custos de manuteno podem ser vrias
vezes mais que o custo de desenvolvimento.
A engenharia de software est preocupada com o desenvolvimento de
software com uma boa relao custo-benefcio.
4 Ps
O papel evolutivo do software

Afeta praticamente todos os aspectos de nossas


vidas, tornando-se difundido no nosso comrcio,
cultura e atividades do dia-a-dia.
Maior importncia.
Redes globais.
Web semntica.

Qual o papel da Engenharia de Software?


Engenharia

O que Engenharia?
Em que situaes ela importante?
Quando ela necessria?

Quando pode ser dispensvel?

O que um Engenheiro?
Qual a diferena entre um engenheiro e um
tcnico de nvel superior?
Engenharia
Engenharia
A arte de resolver problemas;
a cincia e a profisso de adquirir e de aplicar os
conhecimentos matemticos, tcnicos e cientficos na
criao, aperfeioamento e implementao de utilidades, tais
como materiais, estruturas, mquinas, aparelhos, sistemas ou
processos, que realizem uma determinada funo ou
objetivo.
Caracterstica Distintiva
Planejamento.
Questes
Por que leva tanto tempo para concluir o software?
Por que os custos de desenvolvimento so to altos?
Por que no podemos achar todos os erros antes de entregar o
software aos clientes?
Por que gastamos tanto tempo e esforo mantendo programas
existentes?
Por que continuamos a ter dificuldade em avaliar o progresso
enquanto o software desenvolvido e mantido?
O que software?
Software
So:
Instrues (programas de
computador) que quando executadas
fornecem as caractersticas, funo e
desempenho desejados +
Estrutura de dados que permitem aos
programas manipular adequadamente
a informao +
Documentos que descrevem a
operao e o uso dos programas.
Algumas caractersticas do Software

O software desenvolvido/projetado, ao invs de


manufaturado/fabricado.
Software no se desgasta com o uso: no existem peas de
reposio.
Software no pode ser visto ou tocado: para analisar o progresso
de um projeto de software preciso recorrer sua
documentao.
Grandes sistemas de software so normalmente desenvolvidos
uma nica vez. Assim, a experincia adquirida com outros
projetos tem um valor limitado.
Algumas caractersticas do Software

A maioria dos softwares feita sob medida (por encomenda), ao invs de


ser montada a partir de componentes.
Produtos Genricos: sistemas produzidos por uma organizao e vendidos a todos os
clientes que quiserem compr-los.
Produtos Customizados: sistemas que so encomendados e desenvolvidos para um
determinado cliente.
O maior gasto de software em produtos genricos, mas o maior esforo
de desenvolvimento est nos produtos customizados.
Atributos dos produtos de Software

Manutenibilidade
Deve ser possvel para o software evoluir de forma a atender a
requisitos que mudam.
Dependabilidade
Software no deve causar prejuzo fsico ou econmico no caso
de uma falha.
Eficincia
Software no deve desperdiar recursos do sistema.
Usabilidade
O software deve ter um interface de usurio adequada e ser
documentado.
Categorias de Software

Software de sistemas.
Software de aplicao.
Software cientfico e de engenharia.
Software embutido.
Software para linhas de produto.
Aplicaes Web.
Software para Inteligncia Artificial.
Aplicaes de Software(Shari Pfleeger)
Aplicaes de Software(Shari Pfleeger)
Engenharia de Software
O que Engenharia de Software?
Quando ela necessria?
Qual a diferena entre Engenharia de Software e
Engenharia/Cincia da Computao?
Qual a diferena entre Engenharia de Software e Engenharia
de Sistemas?
Engenharia de Software somente uma burocracia que
atrapalha o desenvolvimento, ou traz algum ganho efetivo a
este?
O que uma metodologia ? Qual a diferena entre
metodologia e mtodo?
O que engenharia de software?

Engenharia de software uma disciplina de engenharia que se


ocupa de todos os aspectos da produo de software.
Engenheiros de software devem adotar uma abordagem
sistemtica e organizada em seu trabalho e usar tcnicas e
ferramentas apropriadas dependendo do problema a ser
resolvido, as restries de desenvolvimento e os recursos
disponveis.
Engenharia de Software
Engenharia de Software
Engenharia
teorias, mtodos e ferramentas.
restries organizacionais e financeiras.
Todos os Aspectos da Produo de Software -
desde os estgios iniciais de especificao do
sistema at a manuteno desse sistema,
depois que ele entrou em operao.
No s processos tcnicos.
Gerenciamento de Projetos, desenvolvimento de
ferramentas de apoio.
Engenharia de Software
Engenharia de Software uma rea
do conhecimento da Computao
que busca estruturar de forma
racional e cientfica, atravs do uso
de modelos matemticos, a
especificao, desenvolvimento e
manuteno de sistemas de
software aplicando tecnologias e
mtodos da Cincia da computao,
Gerncia de projetos , das
Engenharias e outros campos do
conhecimento.
Engenharia de software x Cincia da computao

Cincia da computao se preocupada com as teorias e os


mtodos bsicos referentes aos computadores e sistemas de
software; a engenharia de software se dedica aos problemas
prticos as produo de software.
Teorias da cincia da computao so atualmente insuficientes
para agir como uma teoria completa para engenharia de
software.
Engenharia de software x Engenharia de sistemas

Engenharia de sistemas com base em computadores se ocupa


de todos os aspectos de desenvolvimento e da evoluo de
sistemas baseado em computadores, incluindo hardware,
software e engenharia do processo. A engenharia de software
parte desse processo.
Engenheiros de sistemas esto envolvidos na especificao do
sistema, na definio de sua arquitetura geral, integrao e
desenvolvimento.
Novos desafios
Computao nas nuvens.
Computao Ubqua.
Netsourcing.
Big data.
Software aberto.
A nova economia.
Surface or deep-sea movements?
Rupturas importantes
Jean Bezivin, professor emrito da Universidade de Nantes,
reconstituiu a histria da Engenharia de Software e percebeu trs
grandes rupturas que aconteceram na Engenharia de Software:
A primeira ruptura foi discutida na reunio da OTAN de Garmisch
em outubro de 1968. O surgimento de sistemas complexos nos
obrigou a perceber que o perodo do desenvolvedor individual (e
isolado) havia acabado, e que o alvo eram "grandes sistemas de
mais de 30.000 instrues, produzidos por mais de 25
desenvolvedores, em mais de 6 meses de tempo de
desenvolvimento, com mais de um nvel de gesto".
Rupturas importantes
A segunda ruptura importante pde ser
observada no incio dos anos 80 com a
mudana do paradigma procedural para a
programao orientada a objeto.
A terceira ruptura foi provocada pela iniciativa
MDA da OMG em Novembro de 2000.
Crise de Software
Conferncia da OTAN sobre Engenharia de Software (NATO Software
Engineering Conference) em Garmisch, Alemanha, 1968.
Crise de Software

Duas dcadas depois, em 1986, Alfred Spector,


presidente da Transarc Corporation, foi coautor
de um artigo comparando a construo de
pontes ao desenvolvimento de software.
A View of 20th and 21st Century Software Engineering

Barry Boehm, ICSE2006, Shanghai


Where is the logical line of progress?
Paradigm/Artifact changes {step = 15y.}

1965 1980 1995 2010 2025


Procedural Object Component Model Driven
Technology Technology Technology Engineering

Procedures, Objects, Components, Models,


Pascal, Classes, Packages, Metamodels,
C, Smalltalk, C++, Frameworks, UML, MOF,
Patterns,
... ...
EJB, J2EE

Procedural Object Model


refinement composition transformation
Climbing the steps

Image credit fgormezano.free.fr


Pontos Principais
A engenharia de software uma disciplina da engenharia que se ocupa de todos os
aspectos da produo de software.

Produtos de software consistem de programas desenvolvidos e da documentao


associada. Os atributos essenciais dos produtos so a facilidade de manuteno, a
confiana e a evoluo do software.

O processo de software consiste em atividades envolvidas no desenvolvimento de


produtos de software. As atividades bsicas so a especificao, o desenvolvimento, a
validao e a evoluo do software.

Mtodos so os meios organizados de produzir software. Eles incluem sugestes sobre o


processo a ser seguido, as notaes a serem utilizadas, as regras que regem as
descries de sistema produzidas e as diretrizes do projeto.
Referncias

SOMMERVILLE, Ian. Engenharia de Software. 8 Edio.


So Paulo: Addison-Wesley, 2007.

Você também pode gostar