2017/2018 Capítulo 1 Introdução

Documentos relacionados
Engenharia de Software I - Aula 02

ENGENHARIA DE SOFTWARE

Introdução a Engenharia de Software

15/03/2018. Professor Ariel da Silva Dias Introdução a Engenharia de Software. O mundo moderno poderia existir sem software?

Introdução a Engenharia de Software. Professor Joerllys Sérgio

ENGENHARIA DE SOFTWARE

Engenharia de Software

Engenharia de Software I

ESTUDOS DE CASO. 1. Sistema de controle de bomba de insulina

O que é um sistema distribuído?

POLÍTICA DE SEGURANÇA DA INFORMAÇÃO PÚBLICA

FUNDAMENTOS DE ENGENHARIA DE SOFTWARE. Professor: Paulo Vencio

Guia de recursos: produtividade de workstations

O Código de Ética e Conduta Profissional da ACM(Association for Computing Machinery) Código de Ética da ACM. Código de Ética da ACM

Engenharia de Software. Projeto de Arquitetura

Capítulo 5 Modelação do Sistema 1

AN INTRODUCTION TO SOFTWARE ENGINEERING

1. Visão Geral. O SGC-SMP tem dois objetivos gerais:

Introdução à Ciência da Computação

Processos de software

ENGENHARIA DE SOFTWARE. Introdução

GERENCIAMENTO DE DADOS Exercícios

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

Prof. Luiz A. Nascimento

Engenharia de Software: Visão Geral

Engenharia de Software

FUNDAÇÃO CELPE DE SEGURIDADE SOCIAL - CELPOS CONTROLE DE APROVAÇÃO REVISADO PELO ÓRGÃO NORMATIVO. Luiza M. Prestrêlo de Lima Diretoria Executiva

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE

Projeto Integrador. <Projeto Integrador> Documento Visão. Versão <1.0>

Capítulo 2 - Processos de Software

Capítulo 7 Conceção e Implementação 1

ENGENHARIA DE SOFTWARE

Sis i te t mas a O perac a i c o i nai a s um p ouco c d a a h is i tó t ria i. a... SO His i t s ó t r ó ic i o

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

Ferramentas CASE. CASE fornece ao engenheiro de software a habilidade de automatizar atividades manuais e de aperfeiçoar o conhecimento de engenharia.

Conceitos Básicos Sistemas de banco de dados; Sistemas de gerência de banco de dados.

Engenharia de Software

Capítulo 6 Design da Arquitectura

- 1ª Lista de Exercícios -

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves

Engenharia de Requisitos

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações

21/09/2012. Elicitação de Requisitos. Projeto de Interface Homem- Máquina. Prof. Esp. MBA Heuber G. F. Lima. Técnicas etipos de Requisitos

Introdução a Sistemas Distribuídos

Aspectos importantes como a autenticação e autorização. Tipos de ameaças: Atividade não autorizada; Downloads não autorizados; Redes: local de transmi

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

ATIVIDADES PRÁTICAS SUPERVISIONADAS

4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos

SISTEMAS DE NEGÓCIOS D. OUTROS SISTEMAS DE DECISÃO

ENGENHARIA DE SOFTWARE PROFA. REANE FRANCO GOULART

Engenharia de Software ENGENHARIA DE REQUISITOS

Unidade III. Unidade III. Existe uma tendência dos sistemas de informação a funcionarem cada vez mais em Intranets e na Internet.

Gestão de Segurança da Informação. Interpretação da norma NBR ISO/IEC 27001:2006. Curso e Learning Sistema de

ENGENHARIA DE SOFTWARE

Qualidade de software. Prof. Emiliano Monteiro

Desenvolvimento de Projetos

Arquitetura de Um Computador

Definição IHC. Disciplina ou campo de estudo interessada no design, implementação e avaliação de sistemas computacionais interativos para uso humano.

Engenharia de Software

Segurança e Auditoria de Sistemas

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Sonae Sierra Brasil Código de Conduta

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

Engenharia de Requisitos

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS

AULA 02 Qualidade em TI

Bruno R. N. Matheus. Engenharia de Software Prof. Paulo Masiero

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

ISO/IEC Prof. Alexandre Luís Franco

Módulo Contexto da organização 5. Liderança 6. Planejamento do sistema de gestão da qualidade 7. Suporte

Aula 4 Engenharia de Requisitos

Tópicos da Aula. O que é anunciado. Falha de Comunicação no Desenvolvimento de Software. Engenharia de Software: Conceitos Fundamentais

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS. Aula 1- Introdução aos Sistemas Distribuídos

Política de Privacidade

O desafio da profissão da qualidade

Sistemas Distribuídos

Tópicos desta Aula: O que é Engenharia de Software? O que é Software? Para que serve? Qual sua importância?

Manutenção Leitura: Sommerville; Pressman

ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA /1

Capítulo 8 Teste de Software 1

Engenharia de Software II

Engenharia de Software II

Processos de Software

Banco de Dados. SGBDs. Professor: Charles Leite

Introdução à Engenharia de Software

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Como atender às crescentes expectativas do cliente na entrega do software. Iniciar

PROJETO DE BANCO DE DADOS

Engenharia de Software Sistemas Sociotécnicos

Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos. Prof. Bruno Moreno

Conceitos Básicos. Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI. Disciplina: Banco de Dados

Ao subscreveres o nosso serviço, estás aceitando os termos e condições definidos em baixo:

Reuso de Software Aula Maio 2012

Douglas O. Cardoso docardoso.github.io

Transcrição:

Capítulo 1 Introdução Capítulo 1 Introdução 1

Assuntos abordados Desenvolvimento de software profissional Qual o significado de engenharia de software. Ética em engenharia de software Uma breve introdução às questões éticas que afetam a engenharia de software. Estudos de caso Uma introdução a três exemplos. Capítulo 1 Introdução 2

Engenharia de software As economias de TODAS as nações desenvolvidas são dependentes de software. Mais e mais sistemas são controlados por software A engenharia de software preocupa-se com teorias, métodos e ferramentas para o desenvolvimento de software profissional. As despesas de software representam uma fração significativa do PIB em todos os países desenvolvidos. Capítulo 1 Introdução 3

Custos de software Os custos do software geralmente dominam os custos do sistema de um computador. Os custos de software num PC são geralmente maiores do que o custo do hardware. O software custa mais para manter do que para desenvolver. Para sistemas com uma vida longa, os custos de manutenção podem ser os custos de desenvolvimento. A engenharia de software preocupa-se com o desenvolvimento de software a baixo custo. Capítulo 1 Introdução 4

Falhas num projeto de software O aumento da complexidade do sistema Como novas técnicas de engenharia de software nos ajudam a construir sistemas maiores e mais complexos, as exigências mudam. Sistemas devem ser construídos e entregues mais rapidamente. Falha a utilização de métodos de engenharia de software, ou a sua ausência É bastante fácil escrever programas de computador sem o uso de métodos e técnicas de engenharia de software. Muitas empresas desenvolvem software ao mesmo tempo que os seus produtos e serviços têm evoluído. Estas empresas não usam métodos de engenharia de software. Consequentemente, o seu software é muitas vezes mais caro e menos confiável do que deveria ser. Capítulo 1 Introdução 5

Desenvolvimento de software profissional Capítulo 1 Introdução 6

Perguntas frequentes sobre engenharia de software Questão O que é um software? Quais são os atributos de um bom software? O que é engenharia de software? Quais são as atividades fundamentais em engenharia de software? Qual é a diferença entre engenharia de software e informática? Responda Programas de computador e documentação associada. Produtos de software podem ser desenvolvidos para um cliente particular ou podem ser desenvolvidos para um mercado geral. Bom software deve fornecer a funcionalidade e desempenho necessários para o utilizador e deve ser sustentável, confiável e utilizável. Engenharia de software é uma disciplina da engenharia que se preocupa com todos os aspectos da produção de software. Especificação do software, Desenvolvimento do software, Validação do software e Evolução do software. A informática concentra-se em teorias e fundamentos; Engenharia de software está preocupada com a viabilidade do desenvolvimento e entrega do software. Capítulo 1 Introdução 7

Perguntas frequentes sobre engenharia de software Questão Qual é a diferença entre engenharia de software e engenharia de sistemas? Quais são os principais desafios enfrentados pela engenharia de software? Quais são os custos da engenharia de software? Quais são as melhores técnicas e métodos de engenharia de software? Responda Engenharia de sistema preocupa-se com todos os aspectos do desenvolvimento de sistemas baseados em computadores, incluindo hardware, software e engenharia de processos. Engenharia de software é parte deste processo mais geral. Lidar com a diversidade crescente, prazos de entrega reduzidos e desenvolvimento de software confiável. Cerca de 60% dos custos de software são os custos de desenvolvimento, 40% são custos de teste. Para software personalizado, os custos de evolução geralmente excedem os custos de desenvolvimento. Todos os projetos de software têm que ser geridos e desenvolvidos profissionalmente, diferentes técnicas são apropriadas para diferentes tipos de sistema. Por exemplo, os jogos devem sempre ser desenvolvidos usando uma série de protótipos enquanto que os sistemas críticos de controle de segurança exigem uma especificação completa e analisável. Assim, não podemos afirmar que um método é melhor do que outro. Capítulo 1 Introdução 8

Produtos de software Produtos genéricos sistemas que são comercializados e vendidos a qualquer cliente que queira comprá-los stand-alone. Exemplos - software de PC, como programas gráficos, ferramentas de gestão de projetos; software CAD; software para mercados específicos. Produtos customizados Software que é encomendado por um cliente específico para satisfazer as suas próprias necessidades. Exemplos - sistemas de controle, software de controle de tráfego aéreo, sistemas de monitoramento de tráfego incorporados. Capítulo 1 Introdução 9

Especificação do produto Produtos genéricos A especificação do que o software deve fazer é da propriedade do programador de software e decisões sobre a mudança de software são feitos pelo programador. Produtos customizados A especificação do que o software deve fazer é propriedade do cliente e eles tomam decisões sobre mudanças de software que são necessarias. Capítulo 1 Introdução 10

Atributos essenciais de um bom software Característica produto Manutenção Confiabilidade e segurança Eficiência Aceitabilidade do Descrição Software deve ser desenvolvido de forma que possa evoluir para atender às necessidades dos clientes. Este é um atributo fundamental, porque a mudança de software é uma exigência inevitável num ambiente de negócios em constante mudança. Confiabilidade de software inclui uma série de características, incluindo a segurança. Software confiável não deve causar danos em caso de falha do sistema. Utilizadores mal-intencionados não devem ser capazes de aceder ou danificar o sistema. Software não deve desperdiçar os recursos do sistema, como memória e ciclos de processador. Eficiência inclui, por conseguinte, a capacidade de resposta, o tempo de processamento, a utilização da memória, etc. Software deve ser aceitável para o tipo de utilizadores para o qual foi concebido. Isso significa que ele deve ser compreensível, usável e compatível com outros sistemas que os utilizadores usam. Capítulo 1 Introdução 11

Engenharia de software Engenharia de software é uma disciplina da engenharia que se preocupa com todos os aspectos da produção de software desde as primeiras fases de especificação do sistema até a manutenção do sistema depois de ter entrado em uso. Disciplina de engenharia Usando teorias e métodos adequados para resolver problemas tendo em conta restrições organizacionais e financeiras. Todos os aspectos da produção de software Não apenas o processo técnico do desenvolvimento. Também a gestão de projetos e desenvolvimento de ferramentas, métodos etc., para apoiar a produção de software. Capítulo 1 Introdução 12

Importância da engenharia de software Cada vez mais, os indivíduos e a sociedade dependem de sistemas de software avançadas. Precisamos ser capazes de produzir sistemas confiáveis e seguros economicamente, rapidamente. É geralmente mais barato, a longo prazo, a utilização de métodos de engenharia de software e técnicas para sistemas de software, em vez de apenas escrever os programas como se fosse um projeto de programação pessoal. Para a maioria dos tipos de sistema, a maioria dos custos são os custos de mudar o software após ele ter entrado em uso. Capítulo 1 Introdução 13

Atividades no processo de software Especificação do software, onde os clientes e engenheiros definem o software que vai ser produzido e os constrangimentos ao seu funcionamento. Desenvolvimento de software, onde o software é concebido e programado. Validação de software, onde o software é verificado para garantir que ele é o que o cliente necessita. Evolução do software, onde o software é modificado para refletir as mudanças das necessidades dos clientes e do mercado. Capítulo 1 Introdução 14

Questões gerais que afetam o software Heterogeneidade Cada vez mais, os sistemas são necessários para operar como sistemas distribuídos através de redes que incluem diferentes tipos de computador e dispositivos móveis. Mudança económica e social As empresas e a sociedade estão a mudar incrivelmente rápido. Eles precisam ser capazes de mudar o seu software existente e desenvolver rapidamente novos softwares. Capítulo 1 Introdução 15

Questões gerais que afetam o software Segurança e confiança Como o software está envolvidos com todos os aspectos das nossas vidas, é essencial que podermos confiar no software. Escala Software tem de ser desenvolvido através de uma gama muito ampla, desde muito pequenos sistemas embarcados em dispositivos portáteis ou acedidos através da Internet, como os sistemas baseados em cloud que servem uma comunidade global. Capítulo 1 Introdução 16

Diversidade em engenharia de software Há muitos tipos diferentes de sistema de software e não existe um conjunto universal de técnicas de software que é aplicável a todos estes. Os métodos de engenharia de software e ferramentas utilizadas dependem do tipo de aplicativo que está a ser desenvolvido, os requisitos do cliente e a equipa de desenvolvimento. Capítulo 1 Introdução 17

Tipos de aplicativos Aplicações stand-alone São sistemas de aplicativos que são executados num computador local. Eles incluem toda a funcionalidade necessária e não precisam ser conectado a uma rede. Aplicativos baseados em transações interativas Aplicações que são executadas num computador remoto e são acessados por utilizadores dos seus próprios PCs ou terminais. Estes incluem aplicações de web. Sistemas de controle embutidos Estes são sistemas de controle de software que controlam dispositivos de hardware. Há provavelmente mais sistemas embutidos que qualquer outro tipo de sistema. Capítulo 1 Introdução 18

tipos de aplicativos Sistemas de processamento de batch Estes são sistemas de negócios que são projetados para processor grande quantidade de dados. Sistemas de entretenimento Estes são sistemas que são principalmente para uso pessoal e que se destinam a entreter o utilizador. Sistemas de modelagem e simulação Estes são sistemas que são desenvolvidos por cientistas e engenheiros para modelar processos ou situações físicas, que incluem muitos, objetos, interagindo separadas. Capítulo 1 Introdução 19

Tipos de aplicativos Sistemas de recolha de dados Estes são sistemas que recolhem dados do ambiente usando um conjunto de sensores e enviam esses dados para outros sistemas para processamento. Sistemas de sistemas Estes são sistemas que são compostos por uma série de outros sistemas de software. Capítulo 1 Introdução 20

Fundamentos de engenharia de software Alguns princípios fundamentais aplicam-se a todos os tipos de sistema de software, independentemente das técnicas de desenvolvimento utilizadas: Os sistemas devem ser desenvolvidos usando um processo de desenvolvimento gerido e compreendido. Claro, processos diferentes são usados para diferentes tipos de software. Confiabilidade e desempenho são importantes para todos os tipos de sistema. Compreender e gerir a especificação de software e requisitos (o que o software deve fazer) é importante. Se for o caso, deve-se reutilizar software que já foi desenvolvido, em vez de escrever um novo software. Capítulo 1 Introdução 21

Engenharia de software e a Internet A Web é agora uma plataforma para executar aplicações e organizações estão a desenvolver cada vez mais sistemas baseados na web, em vez de sistemas locais. Serviços web permitem que a aplicação possa ser acedida pela Web. A computação em nuvem é uma abordagem para a prestação de serviços de informática onde as aplicações são executadas remotamente na 'nuvem'. Capítulo 1 Introdução 22

Engenharia de software baseada na Web Sistemas baseados na Web são sistemas distribuídos complexos, mas os princípios fundamentais da engenharia de software discutidos anteriormente são tão aplicáveis a eles como são para qualquer outro tipo de sistema. As idéias fundamentais da engenharia de software aplicã-se a software baseado na web da mesma forma que se aplicam a outros tipos de sistema de software. Capítulo 1 Introdução 23

Engenharia de software e a Web Reuso de software reutilização de software é a abordagem dominante para a construção de sistemas baseados na web. Ao construir esses sistemas, pense sobre como você montá-los a partir de componentes e sistemas de software pré-existentes. Desenvolvimento incremental e ágil sistemas baseados na web devem ser desenvolvidos e entregues de forma incremental. Agora é geralmente reconhecido que é impraticável especificar todos os requisitos para tais sistemas com antecedência. Capítulo 1 Introdução 24

Engenharia de software e a Web Sistemas orientados a serviços Programas podem ser implementado usando engenharia de software orientada a serviços, onde os componentes de software são os serviços da Web independente. Capítulo 1 Introdução 25

Ética em engenharia de software Capítulo 1 Introdução 26

Ética em engenharia de software Engenharia de software envolve responsabilidades mais amplas do que a simples aplicação de habilidades técnicas. Os engenheiros de software devem comportar-se de uma maneira honesta e eticamente responsável se eles querem ser respeitados como profissionais. O comportamento ético é mais do que simplesmente defender a lei, mas envolve seguir um conjunto de princípios que são moralmente corretos. Capítulo 1 Introdução 27

Questões de responsabilidade profissional Confidencialidade Engenheiros devem normalmente respeitar a confidencialidade dos seus empregadores ou clients, independente de ter ou não um acordo formal de confidencialidade assinado. Competência Engenheiros não devem falsear os seus níveis de competência. Eles não devem aceitar trabalhos que estejam fora da sua competência. Capítulo 1 Introdução 28

Questões de responsabilidade profissional Direito de propriedade intelectual Os engenheiros devem estar cientes das leis locais que regulam o uso da propriedade intelectual, como patentes, direitos de autor, etc. Eles devem ter o cuidado de assegurar que a propriedade intelectual de empregadores e clientes está protegida. Uso indevido Engenheiros de software não devem usar as suas habilidades técnicas para prejudicar outras pessoas. Capítulo 1 Introdução 29

ACM / IEEE Código de Ética As sociedades profissionais têm cooperado para produzir um código de conduta ética. Os membros dessas organizações assinam o código de ética quando eles entram. O Código contém oito princípios relacionados ao comportamento e decisões feitas por engenheiros de software profissionais, incluindo médicos, educadores, gerentes, supervisores e os decisores políticos, bem como estagiários e estudantes da profissão. Capítulo 1 Introdução 30

Justificativa para o código de ética Os computadores têm um papel central e crescente no comércio, indústria, governo, medicina, educação, entretenimento e sociedade em geral. Os engenheiros de software são aqueles que contribuem por participação direta ou através do ensino, com a análise, especificação, projeto, desenvolvimento, certificação, manutenção e testes de sistemas de software. Por causa do seu papel no desenvolvimento de sistemas de software, engenheiros de software têm significativa oportunidades de fazer o bem ou causar danos, para permitir que os outros a fazer o bem ou causar danos, ou para influenciar outros a fazer o bem ou causar danos. Para garantir, tanto quanto possível, que os seus esforços serão utilizados para o bem, engenheiros de software devem se comprometer a fazer da engenharia de software uma profissão benéfica e respeitada. Capítulo 1 Introdução 31

O Código de Ética da ACM / IEEE Código de Ética de Engenharia de Software e Prática Profissional PREÂMBULO Engenheiros de software devem-se comprometer a fazer a análise, especificação, desenvolvimento, teste e manutenção de software uma profissão benéfica e respeitada. De acordo com seu compromisso com a saúde, a segurança e o bem-estar do público, os engenheiros de software devem aderir aos Oito Princípios seguintes: Capítulo 1 Introdução 32

Princípios éticos 1. PÚBLICO - Engenheiros de software devem agir de forma coerente com o interesse público. 2. CLIENTE E EMPREGADOR - Engenheiros de software devem agir de acordo com o melhor interesse dos seus clientes e empregadores, consistente com o interesse público. 3. PRODUTO - Os engenheiros de software devem assegurar que os seus produtos e modificações relacionadas, atendam aos mais altos padrões profissionais possíveis. 4. JULGAMENTO - Os engenheiros de software devem manter a integridade e independência no seu julgamento profissional. 5. Gestão - gerentes de engenharia de software e líderes devem subscrever e promover uma abordagem ética para a gestão do desenvolvimento e manutenção de software. 6. PROFISSÃO - Os engenheiros de software devem promover a integridade e reputação da profissão consistente com o interesse público. 7. COLEGAS - Os engenheiros de software devem ser justos e apoiar os seus colegas. 8. AUTO - Engenheiros de software devem participar na aprendizagem ao longo da vida em relação à prática de sua profissão e devem promover uma abordagem ética à prática da profissão. Capítulo 1 Introdução 33

Dilemas éticos Desacordo com as políticas dos empregadores. Empregador age de uma forma anti-ética e lança um sistema de segurança crítica sem terminar os testes do sistema. Participação no desenvolvimento de sistemas de armas militares ou sistemas nucleares. Capítulo 1 Introdução 35

Estudos de caso 30/10/2014 Capítulo 1 Introdução 34

Estudos de caso Bomba de insulina pessoal Um sistema incorporado numa bomba de insulina utilizada por diabéticos para manter o controlo de glucose no sangue. Um sistema de gestão para pacientes com problemas de saúde mental Mentcare. Um sistema usado para manter registros de pessoas que recebem cuidados para problemas de saúde mental. Uma estação de metereologia numa região selvagem Um sistema de recolha de dados sobre as condições do tempo em áreas remotas. ilearn: Um ambiente digital de aprendizagem Um sistema de apoio à aprendizagem nas escolas Capítulo 1 Introdução 36

Sistema de controle de bomba de insulina Recolhe dados de um sensor de açúcar no sangue e calcula a quantidade de insulina necessária a ser injectada. Cálculo baseado na taxa de variação de níveis de açúcar no sangue. Envia sinais a uma micro-bomba para administrar a dose correcta de insulina. Sistema critic, baixo nivel de açúcar no sangue pode conduzir a mau funcionamento do cérebro, coma e morte; altos níveis de açúcar no sangue têm consequências a longo prazo, tais como danos aos olhos e rins. Capítulo 1 Introdução 37

Arquitetura de hardware da bomba de insulina Capítulo 1 Introdução 38

Modelo de atividade da bomba de insulina Capítulo 1 Introdução 39

Requisitos de alto nível essenciais O sistema deve estar disponível para fornecer insulina, quando necessário. O sistema deve realizar com fiabilidade e proporcionar a quantidade correcta de insulina para neutralizar o nível actual de açúcar no sangue. O sistema deve ser concebido e implementado para garantir que o sistema sempre atende a esses requisitos. Capítulo 1 Introdução 40

Mentcare: Um sistema de informação do paciente para os cuidados de saúde mental Um sistema de informações do paciente para apoiar os cuidados de saúde mental, é um sistema de informação médica que mantém informações sobre pacientes que sofrem de problemas de saúde mental e os tratamentos que receberam. A maioria dos pacientes de saúde mental, não necessitam de tratamento hospitalar dedicado, mas precisam ir a clínicas especializadas regularmente, onde podem encontrar um médico que tenha conhecimento dos seus problemas. Capítulo 1 Introdução 41

Mentcare Mentcare é um sistema de informação que é destinado a clínicas. Ele faz uso de uma base de dados centralizada de informações do paciente, mas também foi concebido para ser executado num PC, de modo que possa ser acedido e usado a partir de sitios que não têm conectividade de rede segura. Quando os sistemas locais têm acesso seguro à rede, eles usam as informações do paciente da base de dados, também podem baixar e usar cópias locais de registros dos pacientes quando eles estão desconectados. Capítulo 1 Introdução 42

Objetivos Mentcare Gerar informação de gestão que permite aos gerentes de serviços de saúde avaliar o desempenho. Fornecer ao pessoal medico informações oportunas para apoiar o tratamento dos pacientes. Capítulo 1 Introdução 43

A organização do sistema Mentcare Capítulo 1 Introdução 44

As principais características do sistema de Mentcare gestão de atendimento individual Os médicos podem criar registos dos pacientes, editar as informações no sistema, ver o histórico dos pacientes, etc. O sistema suporta resumos de dados para que os médicos possam aprender rapidamente sobre os principais problemas e tratamentos que foram prescritos. monitoramento de pacientes O sistema monitoriza os registos dos pacientes que estão envolvidos no tratamento e emite avisos se forem detectados possíveis problemas. relatórios administrativos O sistema gera relatórios mensais que mostram o número de pacientes tratados em cada clínica, o número de pacientes que entravam e saíam do sistema de assistência, número de pacientes seccionados, os medicamentos prescritos e os seus custos, etc. Capítulo 1 Introdução 45

Preocupações do sistema Mentcare Privacidade É essencial que as informações do paciente sejam confidenciais e não sejam divulgadas a ninguém além da equipe médica autorizada e os próprios pacientes. Segurança Algumas doenças mentais podem levar o paciente a se tornar suicida ou um perigo para outras pessoas. Sempre que possível, o sistema deve alertar profissionais de saúde sobre pacientes potencialmente suicidas ou perigosos. O sistema deve estar disponível quando necessário. Capítulo 1 Introdução 46

Estação meteorológica O governo de um país com grandes áreas de região selvage decide implantar várias centenas de estações meteorológicas em áreas remotas. Estações meteorológicas recolhem dados de um conjunto de instrumentos que medem a temperatura e pressão, luz do sol, chuva, velocidade do vento e direção do vento. A estação de tempo inclui um número de instrumentos que medem os parâmetros de tempo, tais como a velocidade e direcção do vento, as temperaturas do solo e do ar, a pressão barométrica e a precipitação ao longo de um período de 24 horas. Cada um destes instrumentos é controlado por um sistema de software que faz leituras de parâmetros periodicamente e gere os dados recolhidos a partir dos instrumentos. Capítulo 1 Introdução 47

O ambiente da estação meteorológica Capítulo 1 Introdução 48

Sistema de informação meteorológica O sistema estação meteorológica Este é responsável pela recolha de dados meteorológicos, fazer um processamento de dados inicial e transmiti-lo para o sistema de gestão de dados. Gestão dados e sistema de arquivamento Este sistema recolhe os dados de todas as estações meteorológicas da região selvagem, realiza o processamento e análise de dados e guarda os dados. O sistema de manutenção da estação Este sistema pode comunicar por satélite com todas as estações para monitorar a saúde desses sistemas e fornecer relatórios de problemas. Capítulo 1 Introdução 49

ilearn: Um ambiente digital de aprendizagem Um ambiente de aprendizagem digital é um quadro em que um conjunto de ferramentas especialmente desenvolvidas para a aprendizagem pode ser incorporado mais um conjunto de aplicações que são voltadas para as necessidades dos alunos que utilizam o sistema. As ferramentas incluídas em cada versão do ambiente são escolhidos por professores e alunos para atender às suas necessidades específicas. Capítulo 1 Introdução 51

Sistemas orientados a serviços O sistema é um sistema orientado a serviço com todos os componentes do sistema considerados um serviço substituível. Isso permite que o Sistema possa ser atualizado de forma incremental à medida que novos serviços se tornam disponíveis. Ele também torna possível configurar rapidamente o sistema para criar versões do ambiente para diferentes grupos, como crianças muito jovens que não sabem ler, estudantes seniores, etc. Capítulo 1 Introdução 52

eu aprendo arquitetura Capítulo 1 Introdução 54

Pontos chave Engenharia de software é uma disciplina da engenharia que se preocupa com todos os aspectos da produção de software. Essenciais atributos do produto de software são a manutenção, confiabilidade e segurança, eficiência e aceitabilidade. As atividades de alto nível: especificação, desenvolvimento, validação e evolução são parte de todos os processos de software. As noções fundamentais de engenharia de software são universalmente aplicáveis a todos os tipos de desenvolvimento do sistema. Capítulo 1 Introdução 56

Pontos chave Há muitos tipos diferentes de sistema e cada um requer ferramentas de engenharia de software e técnicas apropriadas para o seu desenvolvimento. As idéias fundamentais de engenharia de software são aplicáveis a todos os tipos de sistema de software. Engenheiros de software têm responsabilidades para com a profissão de engenharia e a sociedade. Eles não devem se preocupar com questões técnicas. Sociedades profissionais publicam códigos de conduta que estabelecem os padrões de comportamento. Capítulo 1 Introdução 57