Engenharia de Sistemas Computacionais



Documentos relacionados
Projeto de Arquitetura

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Engenharia de Requisitos

Abordagens. Ao redor do computador. Ao redor do computador. Auditoria de Sistemas de Informação. Everson Santos Araujo

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

ENGENHARIA DE SOFTWARE I

Qualidade de Software

SISTEMAS DISTRIBUÍDOS

Tecnologia e Sistemas de Informações

Universidade Paulista

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Concepção e Elaboração

Introdução ao Modelos de Duas Camadas Cliente Servidor

Engenharia de Software

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

SISTEMAS DISTRIBUÍDOS

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Processos de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

ERP Enterprise Resource Planning

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

PÁGINA 4 ITIL V.2 & ITIL V.3

Introdução à Engenharia de Software

Gerenciamento de Problemas

Gerenciamento de Redes Gerenciamento OSI

Processo de Implementação de um Sistema de Gestão da Qualidade

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Qualidade de Software. Profa. Cátia dos Reis Machado

ARQUITETURA DE SOFTWARE

GOVERNO DO ESTADO DO PARÁ MINISTÉRIO PÚBLICO DE CONTAS DOS MUNICÍPIOS DO ESTADO DO PARÁ MPCM CONCURSO PÚBLICO N.º 01/2015

**Docentes do Centro Universitário Filadélfia- Unifil.

IW10. Rev.: 02. Especificações Técnicas

Sistemas de Informação I

Documento de Arquitetura

PODER JUDICIÁRIO TRIBUNAL DE JUSTIÇA DO ESTADO DO AMAZONAS DIVISÃO DE GESTÃO DA QUALIDADE

TRIBUNAL REGIONAL FEDERAL DA 2ª REGIÃO Secretaria de Tecnologia da Informação

Gestão de Projetos. Prof: Fernando Souza, PMP

Funcionalidade Escalabilidade Adaptabilidade Gerenciabilidade

Sistemas Distribuídos

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

RESOLUÇÃO Nº 080/2014, DE 25 DE JUNHO DE 2014 CONSELHO UNIVERSITÁRIO UNIVERSIDADE FEDERAL DE ALFENAS UNIFAL-MG

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Motivos para você ter um servidor

Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler

Sistemas de Informação I

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Auditoria de Sistemas de Informação. Everson Santos Araujo

Eduardo Bezerra. Editora Campus/Elsevier

ENGENHARIA DE SOFTWARE

Rotina de Discovery e Inventário

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU

ASSUNTO DA APOSTILA: SISTEMAS DE INFORMAÇÃO E AS DECISÕES GERENCIAIS NA ERA DA INTERNET

Gestão de escopo do projeto

PROFESSOR: CRISTIANO MARIOTTI

REQUISITOS. Prof. Msc. Hélio Esperidião

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Redes de Computadores

Gerência e Administração de Redes

MANUAL DE IMPLANTAÇÃO SISTEMA DE INVENTÁRIO CACIC GOVERNO FEDERAL SOFTWARE PÚBLICO

MODELO CMM MATURIDADE DE SOFTWARE

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

Universidade Federal de Goiás UFG Campus Catalão CAC Departamento de Engenharia de Produção. Sistemas ERP. PCP 3 - Professor Muris Lage Junior

Fundamentos de Engenharia de Software Professor Rafael Escalfoni

Automação de Bancada Pneumática

A Disciplina Gerência de Projetos

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Modelo Cascata. Alunos: Bruno Nocera Zanette Pedro Taques

Análise e Projeto Orientados por Objetos

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

15/09/2015. Gestão e Governança de TI. Modelo de Governança em TI. A entrega de valor. A entrega de valor. A entrega de valor. A entrega de valor

PROCEDIMENTO DA QUALIDADE

Gerência de Redes NOC

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Estabelecer critérios e procedimentos padronizados necessários para utilização do Help Desk da Coco do Vale.

Engenharia de Software

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO

Roteamento e Comutação

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com

Gerenciamento de Serviços de TI ITIL v2 Módulo 1 Conceitos básicos

Módulo 4: Gerenciamento de Dados

1

Relatorio do trabalho pratico 2

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Manual de Usuário. Gestion Libre de Parc Informatique (Gestão Livre de Parque de Informática) Versão 1.1 NRC

COORDENAÇÃO DE TECNOLOGIA (COTEC) ABRIL/2011

Transcrição:

Engenharia de Sistemas Detalhes no planejamento UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Introdução Na aplicação de um sistema computacional, o software é apenas um elemento do todo Além do software, devemos também considerar: Hardware Usuários Documentação (manuais, formulários etc) Regras e procedimentos adotados Engenharia de Sistemas A corresponde ao conjunto de atividades que deverão ser realizadas para definir sistema computacional. Especificação Projeto Implementação Validação Instalação Manutenção 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 funções de entrada e edição de texto com funções de produção de documentos (software e hardware) Associado a um usuário (elemento humano) 1

O que é um Sistema Computacional? Assim, os elementos de um sistema computacional são: Software: Os programas de computador, estruturas de dados e documentação. Hardware: Dispositivos que definem as capacidades de um computador. Inclui também os dispositivos eletromecânicos (robôs, máquinas mecânicas de produção etc) Pessoal: Usuários operadores do hardware e do software O que é um Sistema Computacional? Assim, os elementos de um sistema computacional são: (...cont) Banco de Dados: Coleção de informações organizadas de forma sistemática, acessada através de software. Documentação: Manuais formulários e outros documentos que podem auxiliar no conhecimento do uso e operação do sistema Procedimentos: Regras que especificam o uso específico de cada elemento do sistema computacional Sistemas e Subsistemas Os elementos de um determinado sistema podem operar de forma autônoma, são os subsistemas ou macroelementos. Exemplos: Uma câmera de vídeo é um sistema independente. Porém, num sistema de segurança, ela e sua configuração fazem parte do sistema geral. Robôs em processos de produção. São sistemas fechados independentes, mas operam num sistema mais abrangente. A Aquisição de Sistemas No desenvolvimento de sistemas, principalmente daqueles mais complexos, é comum adquirir determinados componentes: Desenvolver tudo normalmente custa mais Integrar partes nem sempre é fácil. É necessário que exista uma especificação prévia. O projeto de arquitetura do sistema ajuda a definir quais os subsistemas que serão adquiridos e quais serão desenvolvidos. 2

A Aquisição de Sistemas Em Sistemas é comum a utilização de componentes customizados (construídos sob medida) e componentes de prateleira. O software desenvolvido normalmente é o elo de ligação e adequação entre os componentes. A utilização de componentes free na elaboração de softwares, também segue a mesma idéia. Contratante (Usuário) Desenvolvedor Desenvolvedor subcontratado 1 Desenvolvedor subcontratado n Precisaremos Especificar softwares... Mas o que é isso? Estabelecer da forma mais precisa possível as funções a serem realizadas Alocar os diferentes componentes de um sistema de computação, como responsável por cada função a ser realizada (solução para implementações) Deve-se considerar: Realizabilidade Desempenho Padronização de interfaces Portabilidade Definição dos Requisitos Vimos que nesta etapa devemos trabalhar na identificação dos requisitos do Sistema Computacional a ser concebido. A forma usual de encaminhar esta etapa é caracterizada por um conjunto de reuniões estabelecidas entre: Equipe de desenvolvimento do sistema Clientes ou usuários Em alguns casos, é necessário investigar o processo de trabalho de funcionários. Pode-se considerar basicamente três categorias de requisitos: os básicos, as propriedades do sistema e as características indesejáveis. Definição dos Requisitos Requisitos básicos: Funções a serem desempenhadas pelo sistema; Não é necessário muito detalhamento nesta etapa (os detalhes vêm depois). Propriedades do sistema Questões relacionadas ao desempenho, segurança, disponibilidade etc; Características indesejáveis Propriedades que o sistema não deve possuir. São definições importantes para satisfação do cliente. 3

O projeto do sistema Particionamento dos Requisitos Agrupar os requisitos usando algum critério lógico Identificação dos Subsistemas Busca por subsistemas que irão compor o Sistema Computacional O entendimento e parcicionamento dos requisitos são importante nessa definição Alocação dos Requisitos Alocação ou implantação dos requisitos aos subsistemas estabelecidos. Engenharia de Sistemas O projeto do sistema Definição das interfaces dos Subsistemas É necessário que seja de forma precisa Atenção para o caso da padronização, especialmente quando desenvolvidos por diferentes equipes/empresas. Particionamento dos Requisitos Identificação dos Subsistemas Alocação de Requisitos Especificação das Funcionalidades Definição das Interfaces Desenvolvimento dos Subsistemas Cada subsistema terá suas funções bem definidas e suas especificidades quanto as competências necessárias 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 seleção de componentes de hardware (Engenharia de Hardware) Definição de desempenho e funcionalidade de software. (Engenharia de Software) Desenvolvimento dos Subsistemas Como já discutimos em aula anterior, a Engenharia de Software envolve as fases: Definição; Desenvolvimento do Software; Verificação, Entrega e Manutenção. 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. 4

Integração do Sistema Conjunto de atividades para a conexão dos diferentes subsistemas. Um problema comum encontrado é nesta etapa é o mal funcionamento de um subsistema como conseqüência de uma definição imprecisa As duas estratégias para integração são: Conexão em um único passo (big-bang), onde tudo é integrado em um único passo Na Integração incremental as partes do sistema são integradas aos poucos (facilita a identificação de erros) Instalação do Sistema Problemas típicos nesta etapa: O ambiente para o qual o sistema foi concebido não é precisamente o mesmo que foi especificado no início do projeto (problema comum quando se usa certas facilidades do SO no projeto, e mude-se de SO) Resistência dos usuários à implantação do novo sistema (procurar dialogar, treinar, acompanhar) Instalação do Sistema Problemas típicos nesta etapa: (...cont.) Necessidade de coexistência entre um sistema antigo e o novo sistema. Principalmente, quando ambos os sistemas compartilham algum recurso. Obstáculos físicos à instalação do sistema: Ausência de pontos de energia devidamente aterrados Falta de pontos de rede (instalados corretamente) Falta de ar-condicionado etc Ativação do Sistema Processo de iniciar o sistema, incluindo toda informação primária necessária para seu funcionamento. Alguns erros podem ocorrer: É importante testar tudo e verificar incompatibilidades; Atenção para os procedimentos dos novos usuários. 5

Evolução do Sistema Por mais que um sistema tenha sido bem projetado, eventualmente necessitará de evoluções Atenção para os possíveis erros trazidos nessa evolução Uma evolução normalmente é um processo que envolve análise detalhada do sistema atual Associado à evolução, estão também as atualizações provenientes de ajustes no sistema Desativação do Sistema Retirar o sistema de operação, quando seu tempo previsto se esgota, sem comprometer uma futura reativação. A desativação deve ser rigorosa, principalmente se o sistema envolver componentes que prejudicam o meio ambiente. A desativação normalmente também está associada a um processo final de backup Projeto Arquitetural do Sistema Normalmente envolve a elaboração 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 híbrido. Projeto Arquitetural do Sistema (exemplo) Radar Processador de Posição Simulação da Aeronave Mapa Meteorológico Contagem Rádio Backup de Posição de Dados Base de Dados de Vôo Informações do Controle da Aeronave Processador de Registro de Atividades Telefonia Backup de Terminais de Controle 6

Projeto Arquitetural do Sistema Durante a definição dos subsistemas, diferentes categorias de componentes podem ser identificadas. Sensores: Elementos capazes de coletar informações a respeito do ambiente, onde o sistema está instalado. Ex.: radares do sistema de tráfego aéreo, sensores de posicionamento de papel numa impressora Atuadores:Componentes que têm por função realizar ações no sistema ou em seu ambiente. Ex.: Válvular para abertura ou fechamento de fluxo hidráulico, flaps das asas do avião, mecanismo de alimentação de papel numa impressora Componentes computacionais: São elementos capazes de exercer algum processamento de uma dada informação de entrada para gerar um conjunto de informações de saída. Ex.: processadores gráficos, processadores aritméticos, algoritmos de controle etc Componentes de comunicação: Componentes que irão viabilizar a comunicação entre partes de um sistema ou entre o sistema e seu ambiente. Ex.: Placas Tthernet, porta serial, modem Componentes de coordenação: São componente que executam funções de coordenação do sistema. Ex.: Um algoritmo de escalonamento em um sistema tempo-real, o controle da sincronia das atividades numa esteira de manufatura Componentes de interface: Componentes capazes de adaptar uma dorma de representação de informação na forma de representação utilizada pelo componente que vai processá-la. Ex.: Placa de vídeo, conversos analógico-digital 7

Engenharia de Sistemas Exemplo: classificação num sistema de segurança doméstica Engenharia de Sistemas Exemplo: classificação num sistema de segurança doméstica Classe Sensor Atuador Componente Sensor de movimento e da porta Sirene Ativador de chamada telefônica Função Detectar intrusão Gerar um sinal de alarme Realizar chamada a um sistema externo Sensores de Movimento Controlador do alarme Sensores das Portas Coordenação Controlador do alarme Coordenar os demais componentes Sirene Sintetizador de voz Ativador de chamada para um sistema telefônico externo Interface Sintetizador de voz Gerar mensagem de localização 8