Buscar

EC205 Cap 1 Engenharia de Sistemas A2013 S2 - A

Prévia do material em texto

w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
Cap. 1 - Engenharia de Sistemas 
Aula 2/20 
Prof. Afonso Celso Soares 
EC205 – Engenharia de 
Software I 
Adaptado do material dos professores Guilherme A. B. Marcondes e Valeska P. P. Marcondes 
Baseado no livro: Engenharia de Software – Roger S. Pressman – Sexta Edição 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
Sistema – O que é? 
Hardware Software 
Rede de 
Comunicação 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
O que é? 
• Engenharia de Software é uma consequência da Engenharia de 
Sistemas. 
 
• Software é um item de um sistema maior. Antes de construí-lo, 
o sistema deve ser entendido. 
 
• A Engenharia de Sistemas tem o foco em vários elementos (e 
não só em Software) que: 
– devem ser analisados, projetados e organizados 
(funcionamento harmônico) e 
– podem formar um produto, um serviço ou uma tecnologia 
para a transformação ou controle da informação. 
 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
• Os objetivos devem ser determinados. 
 
• Identificação dos papéis: 
Como obter o entendimento sobre o Sistema ? 
– Hardware 
– Software 
– Pessoas 
– Base de dados 
– Procedimentos e 
– Outros elementos 
• Os requisitos operacionais devem ser identificados, analisados, 
especificados, modelados, validados e gerenciados. 
 
• Essas atividades formam a base da Engenharia de Sistemas. 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
• Deve ser produzida uma representação efetiva do Sistema. 
 
• Pode ser 
– Protótipo 
– Especificação 
– Modelo simbólico 
 
• Importante: eles devem comunicar as características 
operacionais, funcionais e comportamentais do Sistema. 
Qual é o produto de trabalho ? 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
• Revise todos os produtos de trabalhos gerados (especificações, 
protótipos, modelos, etc.). 
 
• De preferência junto aos usuários finais, clientes ou outras 
pessoas envolvidas. 
 
• Verifique a clareza, consistência e completude. 
 
 
Como garantir que está certo ? 
Espere mudanças nos requisitos do sistema 
e gerencie-as! 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
• Você possui uma empresa de buffet 
 
• Ela é contactada por um grande cliente que quer oferecer um 
jantar para várias autoridades e pessoas importantes. 
 
• Grande oportunidade de negócios. Nada pode falhar! 
 
• O que você faz? Por onde começar? 
Exemplo 
Não adianta somente a comida ser boa, o 
sistema todo deve funcionar bem! 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
• Primeiro é preciso obter um bom entendimento sobre o sistema! 
Exemplo 
Segundo o dicionário Aurélio, sistema pode ser definido como: 
 
1. Conjunto de elementos, materiais ou ideais, entre os quais 
se possa encontrar ou definir alguma relação; 
2. Disposição das partes ou dos elementos de um todo, 
coordenados entre si, e que funcionam como estrutura 
organizada. 
• Algumas perguntas podem ser feitas: 
– Quando irá ocorrer (data, horário)? 
– Que local? Quantas pessoas? 
– Como será a festa? Música? Bebidas? Iluminação? 
– Como será o ambiente? Aberto? 
– Etc, 
 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
• Depois que o “todo” foi entendido, é necessário determinar a 
fronteira (escopo) de ação do serviço (fornecedora do jantar). 
• A partir daí é possível gerar uma especificação e 
representação para serem apresentadas ao cliente! 
Exemplo 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
• “Um conjunto ou arranjo de elementos que são organizados 
para realizar um objetivo pré-definido por meio do 
processamento de informações”1 . 
 
• O objetivo pode ser suportar algumas funções de negócio ou 
desenvolver um produto. 
 
• Para atingir o objetivo, os sistemas baseados em computador 
utilizam vários elementos que podem ser combinados de várias 
formas para transformar a informação. 
 
Sistemas baseados em Computador 
1 - Webster’s definition 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
• Software: 
– Programas de computador, estrutura de dados e documentação 
relacionada. 
 
• Hardware: 
– Dispositivos eletrônicos que possuem capacidade computacional, que 
permitem o fluxo de dados e dispositivos eletro-eletrônicos (dispositivos 
de telecomunicações, switches de rede, sensores, etc.). 
 
• Pessoas: 
– Usuários, operadores de hardware e software e cliente. 
Elementos de um Sistema baseado em Computador 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
• Base de Dados: 
– Uma grande e organizada coleção de informação que é acessada via 
software. 
 
• Documentação: 
– Informação descritiva do uso e/ou operação do sistema (manual do 
usuário, ajuda on-line, Web sites, etc.). 
 
• Procedimentos: 
– Os passos que definem o uso específico de cada elemento do sistema ou 
o contexto no qual o sistema reside. 
Elementos de um Sistema baseado em Computador 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
1. Geralmente inicia-se com uma “Visão de Mundo”, ou seja, o 
domínio inteiro, do negócio ou produto, é examinado para 
garantir que um contexto adequado possa ser estabelecido. 
 
2. A “Visão do Mundo” é refinada para enfocar um domínio de 
interesse (Visão de domínio). 
 
3. Dentro do domínio específico, são analisadas as necessidades 
quanto aos elementos de software, hardware, pessoas, dados, 
etc. (Visão de elemento). 
 
4. Finalmente a análise, projeto e construção dos elementos é 
iniciada (Visão detalhada). 
Hierarquia da Engenharia de Sistemas 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
Hierarquia da Engenharia de Sistemas 
F
o
n
te
: 
E
n
g
e
n
h
a
ri
a
 d
e
 S
o
ft
w
a
re
 –
 R
o
g
e
r 
S
. 
P
re
s
s
m
a
n
 –
 6
a
 E
d
iç
ã
o
 World view 
Business or 
Product Domain 
Domain of interest 
Domain view 
System element 
Element view 
Detailed view 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
Engenharia de Sistemas é um processo de modelagem. 
 
Se o foco está na “Visão de mundo” ou na “Visão detalhada”os 
engenheiros devem criar modelos que: 
 
• Definem o processo que cumpre as necessidades da visão em 
questão. 
 
• Representem o comportamento do processo e as suposições 
no qual o comportamento é baseado. 
 
• Deixem de forma explícita as entradas e saídas e os 
relacionamentos dos itens no modelo. 
Modelagem de Sistemas 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
Fatores a serem considerados na modelagem 
Pressupostos 
Limitações 
Simplificações 
Restrições 
Preferências 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
Fatores a serem considerados na modelagem 
Pressupostos 
Limitações 
Simplificações 
Restrições 
Preferências 
Exemplo: A 
especificação 
de um robô 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
Fatores a serem considerados na modelagem 
Pressupostos 
Limitações 
Simplificações 
Restrições 
Preferências 
• Reduzem a quantidade de 
variações. 
• Permitem que o modelo 
reflita o problema de forma 
clara. 
O robô deverá 
fazer movimentos 
com os braços 
para cima e parabaixo. 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
Fatores a serem considerados na modelagem 
Pressupostos 
Limitações 
Simplificações 
Restrições 
Preferências 
• Permitem que o modelo 
seja criado em prazo 
oportuno. 
O robô terá 
precisão de 5 cm 
em seus 
deslocamentos. 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
Fatores a serem considerados na modelagem 
Pressupostos 
Limitações 
Restrições 
Preferências 
Simplificações 
• Ajudam a delimitar a 
fronteira do sistema. 
O robô somente 
andará em solo 
liso, sem 
ondulações. 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
Fatores a serem considerados na modelagem 
Pressupostos 
Preferências 
Simplificações 
Limitações 
Restrições 
• Guiam a maneira pela qual o 
modelo será criado. 
• Definem abordagem adotada 
quando o modelo é 
implementado. 
O robô ficará sujeito 
às restrições 
impostas pelo 
processador 
definido, que são ..... 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
Fatores a serem considerados na modelagem 
Pressupostos 
Simplificações 
Limitações 
Restrições 
Preferências 
• Indicam arquitetura 
preferida para: 
• Dados 
• Funções e 
• Tecnologia 
O robô deverá 
usar sistema 
operacional Linux 
(embarcado). 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
• Muitos sistemas baseados em computador interagem com o 
mundo real de uma forma reativa: os eventos do mundo real 
são monitorados e o sistema reage controlando máquinas, 
processos e pessoas. 
 
• Até recentemente era difícil prever o desempenho, eficiência e 
comportamento de tais sistemas antes de construí-los. 
 
• Muitos sistemas da categoria reativa controlam máquinas e /ou 
processos (ex, aviões comerciais, refinarias de petróleo) que 
devem ser operados com extremo grau de confiabilidade. Se o 
sistema falha, significa perda econômica e humana! 
Simulação de Sistemas 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
• Atualmente, ferramentas de software para Modelagem e 
Simulação de Sistemas estão sendo usadas para eliminar 
surpresas quando esses sistemas estão sendo construídos. 
 
• Tais ferramentas são utilizadas durante o processo de 
engenharia de sistemas, enquanto os papéis dos elementos 
(hardware, software, pessoas, etc) estão sendo especificados. 
 
• Ferramentas de Modelagem e Simulação permitem que seja 
feito o “test drive” da especificação do sistema. 
 
Simulação de Sistemas 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
Simulação de Sistemas 
Se a capacidade de Simulação de um sistema 
reativo não for disponível, os riscos do 
projeto aumentam! 
 
Considere utilizar um modelo de processo 
iterativo, que permitirá a observação de itens 
como desempenho, já na primeira release 
entregue! 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
• Todo sistema pode ser modelado. 
 
• Eles podem ser modelados em diferentes níveis de abstração 
(visão de mundo, visão de domínio, visão de elemento). 
 
• À medida que se “desce” nestes níveis os detalhes dos 
componentes são modelados. 
 
• Técnicas de modelagem: 
– UML (Unified Modeling Language) 
 
Modelagem 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
• Sistemas de alta tecnologia incorporam elementos de software, 
hardware, pessoas, documentação e procedimentos; 
 
• A Engenharia de Sistemas ajuda a transformar as necessidades 
do cliente em um modelo de sistema que fará uso de um ou 
mais desses elementos; 
 
• A Engenharia de Sistemas inicia-se com uma “Visão de Mundo”, 
que é refinada para uma “Visão de domínio” do problema. 
Depois é analisado cada elemento dentro do domínio e 
finalmente cada elemento é detalhado. 
Conclusão 
w
w
w
.i
n
a
te
l.
b
r 
Engenharia de Sistemas 
Cap. 1 - Engenharia de Sistemas 
Adaptado do material dos professores Guilherme A. B. Marcondes e Valeska P. P. Marcondes 
Baseado no livro: Engenharia de Software – Roger S. Pressman – Sexta Edição 
Prof. Afonso Celso Soares 
EC205 – Engenharia de 
Software I

Continue navegando