Você está na página 1de 8

Engenharia de Sistemas Computacionais

Detalhes no planejamento

Introduo
Na aplicao de um sistema computacional, o software apenas um elemento do todo Alm do software, devemos tambm considerar:
Hardware Usurios

UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Cincia da Computao Engenharia de Software I Prof. Rmulo Nunes de Oliveira

Documentao (manuais, formulrios etc) Regras e procedimentos adotados

Engenharia de Sistemas Computacionais


A Engenharia de Sistemas Computacionais corresponde ao conjunto de atividades que devero ser realizadas para definir sistema computacional.
Especificao Projeto Implementao Validao Instalao Manuteno

O que um Sistema Computacional?


Conjunto de elementos inter-relacionados que operam juntos para o alcance de algum objetivo. Exemplo: Um sistema de processamento de texto
Integra funes de entrada e edio de texto com funes de produo de documentos (software e hardware) Associado a um usurio (elemento humano)

O que um Sistema Computacional?


Assim, os elementos de um sistema computacional so:
Software: Os programas de computador, estruturas de dados e documentao. Hardware: Dispositivos que definem as capacidades de um computador. Inclui tambm os dispositivos eletromecnicos (robs, mquinas mecnicas de produo etc) Pessoal: Usurios operadores do hardware e do software

O que um Sistema Computacional?


Assim, os elementos de um sistema computacional so: (...cont)
Banco de Dados: Coleo de informaes organizadas de forma sistemtica, acessada atravs de software. Documentao: Manuais formulrios e outros documentos que podem auxiliar no conhecimento do uso e operao do sistema Procedimentos: Regras que especificam o uso especfico de cada elemento do sistema computacional

Sistemas e Subsistemas
Os elementos de um determinado sistema podem operar de forma autnoma, so os subsistemas ou macroelementos.
Exemplos: Uma cmera de vdeo um sistema independente. Porm, num sistema de segurana, ela e sua configurao fazem parte do sistema geral. Robs em processos de produo. So sistemas fechados independentes, mas operam num sistema mais abrangente.

A Aquisio de Sistemas
No desenvolvimento de sistemas, principalmente daqueles mais complexos, comum adquirir determinados componentes:
Desenvolver tudo normalmente custa mais Integrar partes nem sempre fcil. necessrio que exista uma especificao prvia. O projeto de arquitetura do sistema ajuda a definir quais os subsistemas que sero adquiridos e quais sero desenvolvidos.

A Aquisio de Sistemas
Em Sistemas Computacionais comum a utilizao de componentes customizados (construdos sob medida) e componentes de prateleira.
O software desenvolvido normalmente o elo de ligao e adequao entre os componentes. A utilizao de componentes free na elaborao de softwares, tambm segue a mesma idia.
Desenvolvedor subcontratado 1 Contratante (Usurio) Desenvolvedor Desenvolvedor subcontratado n

Engenharia de Sistemas Computacionais


Precisaremos Especificar softwares... Mas o que isso?
Estabelecer da forma mais precisa possvel as funes a serem realizadas Alocar os diferentes componentes de um sistema de computao, como responsvel por cada funo a ser realizada (soluo para implementaes) Deve-se considerar:
Realizabilidade Desempenho Padronizao de interfaces Portabilidade

Engenharia de Sistemas Computacionais


Definio dos Requisitos
Vimos que nesta etapa devemos trabalhar na identificao dos requisitos do Sistema Computacional a ser concebido. A forma usual de encaminhar esta etapa caracterizada por um conjunto de reunies estabelecidas entre:
Equipe de desenvolvimento do sistema Clientes ou usurios Em alguns casos, necessrio investigar o processo de trabalho de funcionrios.

Engenharia de Sistemas Computacionais


Definio dos Requisitos
Requisitos bsicos:
Funes a serem desempenhadas pelo sistema; No necessrio muito detalhamento nesta etapa (os detalhes vm depois).

Propriedades do sistema
Questes relacionadas ao desempenho, segurana, disponibilidade etc;

Caractersticas indesejveis
Propriedades que o sistema no deve possuir. So definies importantes para satisfao do cliente.

Pode-se considerar basicamente trs categorias de requisitos: os bsicos, as propriedades do sistema e as caractersticas indesejveis.

Engenharia de Sistemas Computacionais


O projeto do sistema
Particionamento dos Requisitos
Agrupar os requisitos usando algum critrio lgico

Engenharia de Sistemas Computacionais


O projeto do sistema
Definio das interfaces dos Subsistemas
necessrio que seja de forma precisa Ateno para o caso da padronizao, especialmente quando desenvolvidos por diferentes equipes/empresas.
Particionamento dos Requisitos Definio das Interfaces

Identificao dos Subsistemas


Busca por subsistemas que iro compor o Sistema Computacional O entendimento e parcicionamento dos requisitos so importante nessa definio

Alocao dos Requisitos


Alocao ou implantao dos requisitos aos subsistemas estabelecidos.

Identificao dos Subsistemas

Especificao das Funcionalidades

Alocao de Requisitos

Engenharia de Sistemas Computacionais


Desenvolvimento dos Subsistemas
Cada subsistema ter suas funes bem definidas e suas especificidades quanto as competncias necessrias ao seu desenvolvimento No caso de um subsistema de software, um processo de desenvolvimento ser iniciado. De certa forma, o desenvolvimento de subsistemas est relacionado a uma seleo de componentes de hardware (Engenharia de Hardware) Definio de desempenho e funcionalidade de software. (Engenharia de Software)

Engenharia de Sistemas Computacionais


Desenvolvimento dos Subsistemas
Como j discutimos em aula anterior, a Engenharia de Software envolve as fases:
Definio; Desenvolvimento do Software; Verificao, Entrega e Manuteno.

Em alguns casos interessante que os diferentes subsistemas seja desenvolvidos em paralelo. Nos envolvimento de subsistemas de hardware, interessante manter o desenvolvimento paralelo ou antecipado, para evitar incompatibilidades.

Engenharia de Sistemas Computacionais


Integrao do Sistema
Conjunto de atividades para a conexo dos diferentes subsistemas. Um problema comum encontrado nesta etapa o mal funcionamento de um subsistema como conseqncia de uma definio imprecisa As duas estratgias para integrao so:
Conexo em um nico passo (big-bang), onde tudo integrado em um nico passo Na Integrao incremental as partes do sistema so integradas aos poucos (facilita a identificao de erros)

Engenharia de Sistemas Computacionais


Instalao do Sistema
Problemas tpicos nesta etapa: O ambiente para o qual o sistema foi concebido no precisamente o mesmo que foi especificado no incio do projeto (problema comum quando se usa certas facilidades do SO no projeto, e mude-se de SO) Resistncia dos usurios implantao do novo sistema (procurar dialogar, treinar, acompanhar)

Engenharia de Sistemas Computacionais


Instalao do Sistema
Problemas tpicos nesta etapa: (...cont.) Necessidade de coexistncia entre um sistema antigo e o novo sistema. Principalmente, quando ambos os sistemas compartilham algum recurso. Obstculos fsicos instalao do sistema:
Ausncia de pontos de energia devidamente aterrados Falta de pontos de rede (instalados corretamente) Falta de ar-condicionado etc

Engenharia de Sistemas Computacionais


Ativao do Sistema
Processo de iniciar o sistema, incluindo toda informao primria necessria para seu funcionamento. Alguns erros podem ocorrer:
importante testar tudo e verificar incompatibilidades; Ateno para os procedimentos dos novos usurios.

Engenharia de Sistemas Computacionais


Evoluo do Sistema
Por mais que um sistema tenha sido bem projetado, eventualmente necessitar de evolues
Ateno para os possveis erros trazidos nessa evoluo Uma evoluo normalmente um processo que envolve anlise detalhada do sistema atual Associado evoluo, esto tambm as atualizaes provenientes de ajustes no sistema

Engenharia de Sistemas Computacionais


Desativao do Sistema
Retirar o sistema de operao, quando seu tempo previsto se esgota, sem comprometer uma futura reativao. A desativao deve ser rigorosa, principalmente se o sistema envolver componentes que prejudicam o meio ambiente. A desativao normalmente tambm est associada a um processo final de backup

Projeto Arquitetural do Sistema (exemplo)

Engenharia de Sistemas Computacionais


Projeto Arquitetural do Sistema
Normalmente envolve a elaborao de um diagrama mostrando o fluxo e relacionamentos entre os subsistemas As caixinhas indicam os subsistemas e as setas indicam o fluxo de dados Nem sempre interessante definir se um subsistema um hardware ou software, ou hbrido.

Sistema de Radar

Sistema de Rdio

Sistema de Comunicao de Dados

Comunicao da Aeronave

Sistema de Telefonia

Processador de Posio

Backup de Posio

Processador de Comunicao

Backup de Comunicao

Sistema de Simulao da Aeronave Sistema de Mapa Meteorolgico

Base de Dados de Vo

Sistema de Contagem

Sistema de Informaes do Controle Sistema de Registro de Atividades

Terminais de Controle

Engenharia de Sistemas Computacionais


Projeto Arquitetural do Sistema
Durante a definio dos subsistemas, diferentes categorias de componentes podem ser identificadas.
Sensores: Elementos capazes de coletar informaes a respeito do ambiente, onde o sistema est instalado. Ex.: radares do sistema de trfego areo, sensores de posicionamento de papel numa impressora

Engenharia de Sistemas Computacionais


Atuadores:Componentes que tm por funo realizar aes no sistema ou em seu ambiente. Ex.: Vlvular para abertura ou fechamento de fluxo hidrulico, flaps das asas do avio, mecanismo de alimentao de papel numa impressora Componentes computacionais: So elementos capazes de exercer algum processamento de uma dada informao de entrada para gerar um conjunto de informaes de sada. Ex.: processadores grficos, processadores aritmticos, algoritmos de controle etc

Engenharia de Sistemas Computacionais


Componentes de comunicao: Componentes que iro viabilizar a comunicao entre partes de um sistema ou entre o sistema e seu ambiente. Ex.: Placas Tthernet, porta serial, modem Componentes de coordenao: So componente que executam funes de coordenao do sistema. Ex.: Um algoritmo de escalonamento em um sistema tempo-real, o controle da sincronia das atividades numa esteira de manufatura

Engenharia de Sistemas Computacionais


Componentes de interface: Componentes capazes de adaptar uma dorma de representao de informao na forma de representao utilizada pelo componente que vai process-la. Ex.: Placa de vdeo, conversos analgico-digital

Engenharia de Sistemas Computacionais


Exemplo: classificao num sistema de segurana domstica
Classe Sensor Componente Sensor de movimento e da porta Sirene Funo Detectar intruso

Engenharia de Sistemas Computacionais


Exemplo: classificao num sistema de segurana domstica
Sensores de Movimento Sensores das Portas

Atuador Comunicao Coordenao Interface

Gerar um sinal de alarme

Ativador de Realizar chamada a um chamada telefnica sistema externo Controlador do alarme Coordenar os demais componentes
Sirene

Controlador do alarme

Sintetizador de voz

Ativador de chamada

para um sistema telefnico externo

Sintetizador de voz Gerar mensagem de localizao