introdução análise e concepção de sistemas de informação josé borbinha [email protected]
TRANSCRIPT
IntroduçãoIntrodução
Análise e Concepção de Análise e Concepção de Sistemas de InformaçãoSistemas de Informação
José BorbinhaJosé [email protected]
2ACSI/Introdução © Alberto Silva / José Borbinha
Enquadramento e Conceitos GeraisEnquadramento e Conceitos Gerais
Enquadramento e Conceitos Gerais– Discussão inicial– Processos de Negócio– Objectivos dos de Sistemas de Informação– Tipos de Sistemas de Informação– Sobre Arquitecturas de Sistemas de Informação
Processo de Desenvolvimento de Sistemas– Conceitos Introdutórios– Processos e Metodologias– Modelos e Modelação– Modelos do Processo de Desenvolvimento
Notas Finais– Problemas Típicos– Boas Práticas– Questões para Discussão
3ACSI/Introdução © Alberto Silva / José Borbinha
O Negócio......Os Processos...
Processo A Processo B Processo C Processo D
...O Sistema de Informação
Sistema y Sistema Z
Sistema xComponente 1
Componente 3
!
!!
!!!
!!
!
Requisitos para o Sistema de Informação
Enquadramento e Conceitos GeraisEnquadramento e Conceitos Gerais
4ACSI/Introdução © Alberto Silva / José Borbinha
Enquadramento e Conceitos GeraisEnquadramento e Conceitos Gerais
Análise e Concepção de Sistemas de Informação?
Informação ?
Sistema ?
Discussão Inicial
5ACSI/Introdução © Alberto Silva / José Borbinha
Enquadramento e Conceitos GeraisEnquadramento e Conceitos Gerais Informação?
– ...– Informação como mensagem (teoria da comunicação de Shannon...)
é o estado de um sistema... é a qualidade de uma mensagem...
– ...– Informação
Informação são dados com valor e significado para um determinado actor
Informação pode ter de ser interpretada, logo a sua percepção e valor podem ser subjectivos
– Dados Dados são elementos brutos de representação de
informação Dados devem ter representações formais, logo devem ser
objectivos– ...– http://en.wikipedia.org/wiki/Information– ...
Discussão Inicial
6ACSI/Introdução © Alberto Silva / José Borbinha
Enquadramento e Conceitos GeraisEnquadramento e Conceitos Gerais Informação?
– ...– Informação como mensagem (teoria da comunicação de Shannon...)
é o estado de um sistema... é a qualidade de uma mensagem...
– ...– Informação e Dados
Informação são dados com valor e significado para um determinado actor Informação pode ter de ser interpretada, logo a sua percepção e valor podem
ser subjectivos– Dados
Dados são elementos brutos de representação de informação Dados devem ter representações formais, logo devem ser objectivos
– ...– http://en.wikipedia.org/wiki/Information– ...
Curto Intervalo para Discussão:
Sistema de Informação
versus
Base de Dados
Discussão Inicial
7ACSI/Introdução © Alberto Silva / José Borbinha
Enquadramento e Conceitos GeraisEnquadramento e Conceitos Gerais
Sistema de Informação (uma definição de “fora para dentro”):– Um sistema, automatizado ou manual, que compreende
pessoas, máquinas e métodos organizados para recolher, processar, transmitir e disseminar dados que representam informação para os seus utilizadores!
(http://en.wikipedia.org/wiki/Information_system)
Sistema de Informação (uma definição de “dentro para fora”)?– Um conjunto integrado de entidades (humanas e
tecnológicas) cujo objectivo é o de satisfazer adequadamente as necessidades de informação de uma organização e dos respectivos processos de negócio!
Discussão Inicial
8ACSI/Introdução © Alberto Silva / José Borbinha
Enquadramento e Conceitos GeraisEnquadramento e Conceitos Gerais
A propósito, então se calhar...
DADOS + PROCESSOS = INFORMAÇÃO
Discussão Inicial
9ACSI/Introdução © Alberto Silva / José Borbinha
Enquadramento e Conceitos GeraisEnquadramento e Conceitos Gerais
Pretende representar uma sequência de actividades, que processam vários inputs e produzem vários outputs e que possuem objectivos.
– Pode ser realizado por pessoas e/ou de forma automática.
– Exemplos de processos de negócio incluem • as compras de matérias-primas, • a contratação de um empregado ou • a distribuição de produtos acabados.
Processo de negócio...
Processos de Negócio
10ACSI/Introdução © Alberto Silva / José Borbinha
Enquadramento e Conceitos GeraisEnquadramento e Conceitos Gerais
Information may come from external sources, from customers, from internal organisational units and may even be the product of other processes.
A resource is an input to a business process, and, unlike information, is typically consumed during the processing.
An event is the receipt of some object, a time or date reached, a notification or some other trigger that initiates the business process. The event may be consumed and transformed (for example a customer order) or simply act as a catalyst (e.g. nightly batch job).
An output may be a physical object (such as a report or invoice), a transformation of raw resources into a new arrangement (a daily schedule or roster) or an overall business result such as completing a customer order.
(a goal) is the reason the organization does (a process), and should be defined in terms of the benefits this process has for the organization as a whole and in satisfying the business needs.
http://www.sparxsystems.com/EAUserGuide/index.html?businessmodelling.htm
Processos de Negócio
11ACSI/Introdução © Alberto Silva / José Borbinha
Enquadramento e Conceitos GeraisEnquadramento e Conceitos Gerais Objectivos dos Sistemas de Informação
Suporte à produção– Reduzir custos operacionais, através da automatização e
reformulação dos processos de negócio– melhorar o desempenho de pessoas e máquinas
Suporte táctico– Satisfazer requisitos de informação dos utilizadores– Melhorar o nível de serviço prestado aos clientes actuais e
facilitar a aquisição de novos clientes. Suporte estratégico
– Contribuir para a criação de novos produtos e serviços– Melhorar e automatizar (integrar) a relação com os
parceiros de negócio. ...
12ACSI/Introdução © Alberto Silva / José Borbinha
Enquadramento e Conceitos GeraisEnquadramento e Conceitos Gerais
Planeamento Estratégico de Sistemas de Informação
processo cuja finalidade é garantir o alinhamento dos sistemas de informação com os objectivos do negócio
ou
"o processo de decidir os objectivos para a organização informática e identificar as aplicações informáticas potenciais que a organização deve implementar” [Lederer88 ]
Objectivos dos de Sistemas de Informação
13ACSI/Introdução © Alberto Silva / José Borbinha
Enquadramento e Conceitos GeraisEnquadramento e Conceitos Gerais
Metodologia do Planeamento Estratégico de Sistemas de Informação
Objectivos dos de Sistemas de Informação
14ACSI/Introdução © Alberto Silva / José Borbinha
Enquadramento e Conceitos GeraisEnquadramento e Conceitos Gerais
Tipo de Sistemas Exemplos
Operacionais Facturação, Controle de encomendas, Contabilidade geral, Controle de Stocks, Salários
Tácticos Análise de vendas, Controle orçamental, Contabilidade analitica, Gestão do inventário, Análise da qualidade
Estratégicos Previsão de vendas, Planeamento da alocação da produção, Planeamento recursos humanos, Previsão de receitas e custos, Modelização financeira
SI segundo a classificação de R. Anthony…
Tipos de Sistemas de Informação
15ACSI/Introdução © Alberto Silva / José Borbinha
Laudon (Management Information Systems 8/eChapter 2 Information Systems in the Enterprise)
© 2004 PRATICE HALL
Mais em SIE/AOSIE
...
Tipos de Sistemas de Informação
16ACSI/Introdução © Alberto Silva / José Borbinha
Enquadramento e Conceitos GeraisEnquadramento e Conceitos Gerais
“conjunto de representações descritivas (modelos) relevantes para a descrição de um objecto de forma a que este possa ser elaborado de acordo com os requisitos (de qualidade) e mantido ao longo da sua vida útil”
Zachman, 87.Definição genérica... Mas, refere-se quer aos sistemas de informação quer à empresa, uma vez que o mesmo modelo apresenta relativamente a cada conceito a perspectiva do negócio e dos sistemas de informação.
O Framework de Zachman é uma estrutura lógica de classificação e apresentação dos modelos
–de uma organização relevantes para a respectiva gestão–desenvolvimento dos seus sistemas
Arquitectura de um Sistema de Informação ...Sobre Arquitecturas de Sistemas de Informação
17ACSI/Introdução © Alberto Silva / José Borbinha
Enquadramento e Conceitos GeraisEnquadramento e Conceitos Gerais
Mais em
ATSI ...
Framework de Zachman... Sobre Arquitecturas de Sistemas de Informação
18ACSI/Introdução © Alberto Silva / José Borbinha
Processo de Desenvolvimento de SistemasProcesso de Desenvolvimento de Sistemas
As actividades associadas à Engenharia de Software podem ser agrupadas em três grandes fases: concepção, implementação e manutenção (cada uma destas fases pode ainda ser dividida em outras mais elementares)
Ao longo de cada fase existem tarefas, subprodutos a desenvolver, pontos de verificação e intervenientes.
Existe também um conjunto de actividades de suporte contínuas: gestão de projecto, controle de qualidade, gestão da configuração, elaboração de documentação, elaboração de estimativas, gestão do risco, ...
Engenharia de Software é a aplicação de um processo sistemático, disciplinado, e quantificado ao desenvolvimento, operação e manutenção de software; ou seja, a aplicação de técnicas de engenharia ao software (IEEE, 93)
Conceitos Introdutórios
19ACSI/Introdução © Alberto Silva / José Borbinha
Do Problema até à Solução...
Processo de Desenvolvimento de SistemasProcesso de Desenvolvimento de Sistemas
Concepção de Sistemas de Informação Especificação de Requisitos: descrição do
problema na óptica do cliente. Análise: descrição do problema na óptica do engº
de sistema Desenho: especificação da solução em termos da
plataforma e tecnologia computacional usada.
Implementação e Manutenção de Sistemas de Informação Concretização da solução desenhada... Testes ... Aceitação ... Manutenção ...
Conceitos Introdutórios
20ACSI/Introdução © Alberto Silva / José Borbinha
Universo do Discurso (UoD) É o fragmento do mundo real sobre o qual a tarefa de modelação e
construção do sistema de informação é focada. A identificação do UoD pressupõe a identificação da fronteira do
sistema e das entidades do mundo real (EMR). – Exemplos de UoD:
sistema de crédito bancário do Banco de Portugal sistema das bibliotecas nacionais sistema de controlo de tráfego aéreo do espaço Europeu
Estrutura de Conceitos– É o conjunto de abstracções básicas que permitem identificar e
caracterizar as Entidades do Mundo Real (EMR)– Exemplos de conceitos
“entidade”, “classe”, “agregação”, “evento”, “relação”.
Conceitos Introdutórios
Processo de Desenvolvimento de SistemasProcesso de Desenvolvimento de Sistemas
21ACSI/Introdução © Alberto Silva / José Borbinha
Modelo– É uma interpretação de um sistema segundo um determinado
ponto de vista, e envolve a sua especificação a um certo nível de abstracção e de detalhe.
– Exemplos de modelos : o modelo de objectos da linguagem UML especificado em UML o modelo de classes, ao nível da análise o modelo de classes, ao nível do desenho/implementação
Linguagem de Modelação É a estruturação e especificação da estrutura de conceitos
segundo uma ou mais linguagens. Linguagens podem ser formais ou informais, textuais ou
gráficas. No caso de linguagens de modelação gráficas importa referir a
notação, que consiste na apresentação visual dos diferentes elementos da estrutura de conceitos subjacente.
Conceitos Introdutórios
Processo de Desenvolvimento de SistemasProcesso de Desenvolvimento de Sistemas
22ACSI/Introdução © Alberto Silva / José Borbinha
Esquema
É a especificação de um modelo usando uma determinada linguagem, a qual pode ser formal, informal (e.g., linguagem natural); de texto, gráfica, ...
Quando a representação do esquema é gráfica designa-se usualmente por diagrama.
Exemplos de esquemas: – esquema relacional de um sistema de crédito– diagrama de classes do sistema de facturação– diagrama de colaboração do processo de emissão de factura
Conceitos Introdutórios
Processo de Desenvolvimento de SistemasProcesso de Desenvolvimento de Sistemas
23ACSI/Introdução © Alberto Silva / José Borbinha
UoD (Sistema) Modelo(s)Estrutura de Conceitos(Linguagem de Modelação)
Esquemas/DiagramasEMR
Do UoD e EMR aos Modelos e Esquemas
Conceitos Introdutórios
Processo de Desenvolvimento de SistemasProcesso de Desenvolvimento de Sistemas
24ACSI/Introdução © Alberto Silva / José Borbinha
Mundo Real
Estrutura de Conceitos
Modelo
gap semântico
homem
casa
carro
dono
lar
Esquema textual
Esquema gráfico
UoD e EMR vs. Modelos e Esquemas
Conceitos Introdutórios
Processo de Desenvolvimento de SistemasProcesso de Desenvolvimento de Sistemas
25ACSI/Introdução © Alberto Silva / José Borbinha
Processos de desenvolvimento: um conjunto de actividades, normalmente agrupadas em fases e tarefas, que são executadas de forma sistemática e uniformizada, que são realizadas por intervenientes com responsabilidades bem definidas, e que a partir de um conjunto de inputs produzem um conjunto de outputs.
Metodologia: A aplicação de um processo através da utilização de um conjunto concreto de ferramentas, técnicas e notações [Booch94]
Processos e Metodologias
Processo de Desenvolvimento de SistemasProcesso de Desenvolvimento de Sistemas
26ACSI/Introdução © Alberto Silva / José Borbinha
Metodologia... inclui ainda referências a diversos princípios e regras cujo objectivo é concretizar na prática as orientações mais teóricas que são expressas no processo, e nas quais podemos incluir:
– Regras de elaboração de estimativas (custos, prazos).– Técnicas para efectuar medições e regras de elaboração de
estimativas.– Procedimentos a seguir de forma a garantir a qualidade.– Programas de formação.– Referência sobre a utilização de ferramentas de apoio ao longo de todo
o processo.– Modelos da documentação a produzir, vulgarmente designados por
templates.– Exemplos práticos detalhados.– Técnicas para customização da metodologia, que poderão ser
aplicadas para a adaptar a realidades específicas.
Processos e Metodologias
Processo de Desenvolvimento de SistemasProcesso de Desenvolvimento de Sistemas
27ACSI/Introdução © Alberto Silva / José Borbinha
Modelação é uma técnica de engenharia bem aceite e provada (e.g., engª civil, mecânica), ...
Permite partilhar conhecimento entre utilizadores e técnicos, e entre diferentes tipos de técnicos, ...
Permite gerir melhor os projectos, as equipas, ...
Permite prever custos e prazos; permite minimizar os riscos e os custos ...
A Importância da Modelação
Modelos e Modelação
Processo de Desenvolvimento de SistemasProcesso de Desenvolvimento de Sistemas
28ACSI/Introdução © Alberto Silva / José Borbinha
Os modelos ajudam a visualizar um sistema, quer seja a sua situação no passado, no presente ou no futuro.
Os modelos permitem especificar a estrutura ou o comportamento de um sistema
Os modelos permitem controlar e guiar o processo de construção do sistema.
Os modelos documentam as tomadas de decisão realizadas.
Benefícios da Modelação
Modelos e Modelação
Processo de Desenvolvimento de SistemasProcesso de Desenvolvimento de Sistemas
29ACSI/Introdução © Alberto Silva / José Borbinha
P1-A escolha dos modelos a criar tem uma profunda influência no modo como o problema é atacado e consequentemente como a solução é tratada
P2 -Cada modelo pode ser expresso em diferentes níveis de precisão/abstracção
P3-Os melhores modelos reflectem a realidade
P4-Nenhum modelo único é suficiente. Qualquer sistema não-trivial é melhor representado através de pequeno número de modelos razoavelmente independentes (relembrar o Framework de Zachman...)
Princípios de Modelação (Booch)Modelos e Modelação
Processo de Desenvolvimento de SistemasProcesso de Desenvolvimento de Sistemas
30ACSI/Introdução © Alberto Silva / José Borbinha
Independentemente das particularidades de cada processo, pode-se distingui-los genericamente segundo duas grandes aproximações:
– aproximação em cascata – aproximação iterativa
Note-se que esta distinção é ortogonal ao facto do processo usar uma abordagem estruturada ou baseada em objectos ...
Processo de Desenvolvimento de SistemasProcesso de Desenvolvimento de Sistemas Modelos do Processo
31ACSI/Introdução © Alberto Silva / José Borbinha
As actividades a executar são agrupadas em tarefas, executadas sequencialmente, de forma que uma tarefa só tem início quando a tarefa anterior tiver terminado.
Aproximação em Cascata
Processo de Desenvolvimento de SistemasProcesso de Desenvolvimento de Sistemas
Positivo• só se avança para a tarefa seguinte quando o cliente valida e aceita os produtos finais
(documentos, modelos, programas) da tarefa actual – uma garantia “formal” para o fornecedor que fica mais “descansado”...
• pressupõe que o cliente participa activamente no projecto e que sabe bem o que quer Negativo
• promove compartimentação dos esforços ao longo das diferentes tarefas, desencorajando a comunicação e partilha de visões entre todos os intervenientes do projecto (analistas, arquitectos, programadores, utilizadores, ...).
• minimiza o impacto da compreensão adquirida no decurso de um projecto, pois se um processo não pode voltar atrás de modo a alterar os modelos e as conclusões das tarefas anteriores, é normal que as novas ideias sobre o sistema não sejam aproveitadas.
Modelos do Processo
32ACSI/Introdução © Alberto Silva / José Borbinha
Vantagens– prevê a possibilidade de a partir de qualquer tarefa do ciclo se
poder regressar a uma tarefa anterior de forma a contemplar alterações funcionais e/ou técnicas que entretanto tenham surgido, em virtude de um maior conhecimento que se tenha obtido.
Desvantagens– risco desta aproximação é que, na ausência de um processo de
gestão do projecto e de controle das alterações bem definido, podemos passar o tempo num ciclo sem fim, sem nunca se atingir o objectivo final que é disponibilizar um sistema a funcionar.
Aproximação em Cascata Revista
Processo de Desenvolvimento de SistemasProcesso de Desenvolvimento de Sistemas Modelos do Processo
33ACSI/Introdução © Alberto Silva / José Borbinha
Aproximação Iterativa e Incremental
Baseia-se no princípio que a equipa envolvida possa refinar e alargar pouco-a-pouco a qualidade, detalhe e âmbito do sistema envolvido
A principal consequência da aproximação iterativa é que os produtos finais de todo o processo vão sendo amadurecidos e completados ao longo do tempo, mas cada iteração produz sempre um conjunto de produtos finais.
Requer processos ágeis!
Processo de Desenvolvimento de SistemasProcesso de Desenvolvimento de Sistemas Modelos do Processo
34ACSI/Introdução © Alberto Silva / José Borbinha
Aproximação em Espiral
Processo de Desenvolvimento de SistemasProcesso de Desenvolvimento de Sistemas
Variante do modelo iterativo e incremental. Foi proposto por Barry Boehm [Boehm88] como resposta às críticas que
os processos existentes não favoreciam a utilização de prototipagem e reutilização de software.
Para além das tarefas e actividades previstas pelos outros processos, propõe logo de seguida à tarefa de planeamento a realização de uma tarefa de prototipagem e de análise do risco, como forma de eliminar os principais problemas e identificar os requisitos do sistema
XP (Extreme Programming) pode ser considerado um exemplo de um processo de desenvolvimento ágil em espiral...
Modelos do Processo
35ACSI/Introdução © Alberto Silva / José Borbinha
Problemas Típicos em Desenvolvimento de Sistemas de Informação
(falta de) Qualidade, traduzida na satisfação incompleta dos requisitos, nos problemas que se verificam após a instalação do produto.
(desvios dos) Prazos previamente estabelecidos para o desenvolvimento de software.
(controlo dos) Custos previamente definidos para o desenvolvimento de software largamente ultrapassados.
Notas FinaisNotas Finais Problemas Típicos
36ACSI/Introdução © Alberto Silva / José Borbinha
Causas Típicas dos Problemas no Desenvolvimento de Sistemas de Informação Falta de empenhamento dos órgãos de topo das organizações. Falta de comprometimento e empenhamento dos utilizadores. Incompreensão do valor dos sistemas de informação. Falta de entendimento e de sintonia entre informáticos e clientes
utilizadores do sistema, no âmbito e requisitos do mesmo. Deficiências várias no processo de desenvolvimento. Falhas na coordenação do projecto, nomeadamente ao nível dos
objectivos, prioridades, estimativas. Falta de qualidade e inadequação dos recursos envolvidos. Mudanças frequentes dos requisitos do negócio e incapacidade de lidar
com esta situação. Dificuldades na integração de componentes. Qualidade e desempenho do software deficiente, muito relacionados com
problemas ao nível do controle de qualidade. Incapacidade de identificar e controlar os riscos do projecto.
Notas FinaisNotas Finais Problemas Típicos
37ACSI/Introdução © Alberto Silva / José Borbinha
Causa Comum a TODOS os Problemas no Desenvolvimento de Sistemas de Informação Falta de comunicação, ou comunicação desadequada entre os
intervenientes:– No levantamento dos requisitos (resultando em expectativas erradas ou
irrealistas)– Na análise (causado resultando em certezas erradas)– No desenho (resultando em soluções impraticáveis ou erradas)– No desenvolvimento (resultando em funções desajustadas)– Nos testes (resultando em conflitos entre diferentes classes de actores)– Na gestão de projecto (resultando no descontrolo dos custos)
As razões para a falta de comunicação resulta geralmente de:– Intimidação hierárquica (medo de fazer perguntas básicas ao chefe ou ao
cliente...)– Ignorância, arrogância ou falta de respeito pelo “outro” (“eles disseram que
querem isso assim, mas nós sabemos que não é assim que deve ser...”)– Falta de rigor (“Mas porque é que não nos disseram isso antes? Porque vocês
não perguntaram antes...”)
Notas FinaisNotas Finais Problemas Típicos
38ACSI/Introdução © Alberto Silva / José Borbinha
Decomposição hierárquica– também conhecido por divide and conquer ("dividir para
conquistar")– um problema é dividido em sub-problemas mais
elementares e assim sucessivamente até serem simples de resolver.
Abstracção– favorece a eliminação da complexidade: já que não é
possível lidar com toda a realidade dos sistemas complexos, o ser humano opta por "esquecer" os detalhes menos importantes e focar a sua atenção nos mais relevantes, lidando com um modelo simplificado da realidade, mas considerado suficiente para entender e solucionar correctamente o problema em questão.
Notas FinaisNotas Finais Boas Práticas
39ACSI/Introdução © Alberto Silva / José Borbinha
O desenvolvimento deve ser efectuado de forma iterativa, repetindo as mesmas actividades em momentos temporais desfasados, mas detalhando o âmbito das funcionalidades do sistema.
Efectuar uma gestão integrada dos requisitos, permitindo a verificação da rastreabilidade dos mesmos desde a sua identificação até à implementação, e facilitando todo o processo de gestão de alterações.
Utilizar arquitecturas baseadas em componentes reutilizáveis, como forma de diminuir o esforço de desenvolvimento e posterior manutenção.
Modelar o software através de diagramas gráficos, mais facilmente compreensíveis e menos sujeitos a interpretações subjectivas.
Efectuar a verificação sistemática da qualidade, e não apenas no final do desenvolvimento.
Outras...
Notas FinaisNotas Finais Boas Práticas
40ACSI/Introdução © Alberto Silva / José Borbinha
Conseguir e promover o envolvimento dos utilizadores. Utilizar uma abordagem orientada para a resolução de
problemas. Definir e utilizar standards para o desenvolvimento e
documentação. Justificar o desenvolvimento de software como uma actividade
estratégica e como investimento financeiro. Não ter receio de alterar ou mesmo cancelar o projecto ou parte
dele. Conceber sistemas que sejam fáceis de expandir e alterar.
Outras, ainda...
Notas FinaisNotas Finais Boas Práticas
41ACSI/Introdução © Alberto Silva / José Borbinha
Questões para discussão...
Quais os elementos estruturais comuns nos processos de desenvolvimento de sistemas?
Quais os “stakeholders” nos processos comuns de desenvolvimento de sistemas?
Que diferenças significativas existem entre projectos de eng.ª civil (ou mecânica) e de eng.ª informática?
Notas FinaisNotas Finais