Introdução aos Sistemas de Informação

Tamanho: px
Começar a partir da página:

Download "Introdução aos Sistemas de Informação"

Transcrição

1 0 Introdução aos Sistemas de Informação Sumário: Definição de Sistema de Informação. Problemas no desenvolvimento de Sistemas de Informação. Soluções: Tecnologia; Métodos de desenvolvimento. Linguagens de modelação.

2 1 O que é um Sistema de Informação? Sistema. s. m. Reunião de partes ligadas entre si, formando uma estrutura complexa. Conjunto de meios, processos destinados a produzir um resultado = Método. Informação. s. f. Conjunto de conhecimentos reunidos sobre um determinado assunto; documentação. Dicionário de Língua Portuguesa Contemporânea. Academia de Ciências de Lisboa. Sistema de Informação: Fornece um meio para reunir informação de uma dada organização, fornecendo procedimentos para registo e disponibilização dessa informação, com o objectivo de auxiliar a organização nas suas actividades. Não é necessariamente um sistema software; Existem vários tipos de sistemas de informação...

3 2 Uma taxonomia para Sistemas de Informação Diferentes tipos de Sistemas de Informação (SI): Sistemas de Informação para Executivos Sistemas de Informação para a Gestão Sistemas de Suporte à Decisão Sistemas de Trabalho Baseados em Conhecimento Sistemas de Automação de Escritórios Sistemas de Processamento de Transacções Etc. Atenção: Taxonomias são sempre redutoras! Esta taxonomia representa uma visão funcional dos SI. Visão funcional meio tecnológico para registar, guardar e disseminar informação. Visão estrutural colecção de pessoas, processos, dados, modelos tecnologia e linguagens.

4 Uma taxonomia para Sistemas de Informação

5 4 Uma taxonomia para Sistemas de Informação (II) Sistemas de Processamento de Transacções Recolhem e armazenam informação acerca de transacções (eventos de interesse); Controlam alguns aspectos relativos às transacções. Sistemas de Automação de Escritórios Fornecem meios para o processamento de dados ao nível do indivíduo; Incluem o processamento de texto, folhas de cálculo, etc. Sistemas de Trabalhos Baseados em Conhecimento Auxiliam na criação e integração de novos conhecimentos na organização.

6 5 Uma taxonomia para Sistemas de Informação (II) Sistemas de Suporte à Decisão Auxiliam a tomada de decisões fornecendo informação, modelos ou ferramentas de análise. Sistemas de Informação para a Gestão Analisam a informação produzida pelos Sistemas de Informação Transaccionais; Convertem informação sobre transacções em informação de controlo de desempenho e gestão da organização. Sistemas de Informação para Executivos Evolução dos Sistemas de Informação para a Gestão vocacionada para executivos; Permitem análise da informação de forma simples e interactiva e a diferentes níveis de detalhe.

7 6 Uma taxonomia para Sistemas de Informação (IV) Sejam de que tipo forem, os SI: existem para auxiliar a organização " mais um meio a juntar a (tantos) outros; devem ser concebidos em função das necessidades da organização " vão ser utilizados pela organização, não por quem os concebeu. É necessário perceber a organização para conceber um bom SI. Quais as actividades da organização a suportar. Qual a informação relevante que flui na organização. Quais as tarefas das pessoas da organização. Entender o problema antes de desenvolver a solução!

8 7 O que é um bom Sistema (de Informação) Aquele que satisfaz as necessidades dos seus utilizadores: útil e utilizável bom software facilita a vida dos utilizadores - deve responder às necessidades reais dos utilizadores (usabilidade! ); confiável sem bugs! flexível as necessidades dos utilizadores mudam, os bugs têm que ser corrigidos bug do ano 2k veio mostrar a falta de flexibilidade de muitos sistemas; acessível (financeiramente) quer na compra quer na manutenção - fácil e rápido de desenvolver; disponível se não está disponível nada mais interessa! - está disponível a tempo e horas? está disponível na plataforma tecnológica pretendida? Como vai o desenvolvimento de software?

9 8 Estatísticas sobre desenvolvimento de Software Sobre o produto entregue... Fonte: Eason, 1988

10 9 Estatísticas sobre desenvolvimento de Software (II) Sobre o produto pago... 3% 2% Mais de 75% do software pago não chegou a ser utilizado! Apenas 5% do software pago foi utilizado continuadamente (deste, 3% necessitou de correcções). 19% 47% 29% Pago mas não entregue Entregue mas não utilizado Utilizado mas mais tarde alterado ou abandonado Entregue e utilizável depois de correcções Entregue e utilizado Fonte: GAO, 1992

11 10 Estatísticas sobre desenvolvimento de Software (III) Sobre o processo... Inquérito realizado em 1994 a 352 companhias (Standish Group): 56% de todos os bugs pode ser atribuídos a erros cometidos durante a fase de análise (i.e., não se esteve a construir o sistema certo!) 31% de todos os processos de desenvolvimento de software são cancelados antes de estarem terminados. 53% dos projectos custam 189% do estimado. 9% dos projectos de grandes companhias respeitam os prazos e o orçamento. 16% dos projectos de pequenas companhias respeitam os prazos e o orçamento. Mais alguns dados sobre grandes projectos (>50,000 linhas de código): produtividade média está abaixo das 10 linhas de código por dia; em média, encontram-se 60 erros por cada 10,000 linhas de código; custo de manter o software ultrapassa o dobro do custo de desenvolvimento.

12 11 Estatísticas sobre desenvolvimento de Software (IV) Tipos de erro: Erro devido a causas físicas o sistema físico de suporte falha; Erro de software os (nossos) conhecidos bugs; Erro humano o operador do sistema utiliza-o de forma errada. Resultados de alguns estudos: 60%-90% de todas as falhas são atribuíveis a erro humano (Hollnagel, 1993). 92% das fatalidades consideradas num estudo entre 1979 e 1992 podiam ser atribuídas a problemas na interacção humano-computador, apenas 4% a causas físicas e 3% a erros de software (MacKenzie, 1994). Mas... Erro de qual humano?! Do humano que utiliza o sistema, ou do humano que o desenhou/implementou?

13 12 Estatísticas sobre desenvolvimento de Software (V) Exemplos Alguns exemplos de sistemas com problemas atribuíveis ao software: Sonda Mariner I, Julho de 1962 Deveria ter voado até Vénus. Apenas quatro minutos após o lançamento despenhou-se no mar. Descobriuse depois que um operador de negação lógica tinha sido omitido por acidente no código do programa responsável por controlar os foguetes... Therac-25, finais dos anos 80 Máquina de Raios-X totalmente controlado por software. Diversos problemas provocaram a administração de radiação excessiva a vários doentes. Aeroporto Internacional de Denver, início dos anos 90 Sistema de tratamento de bagagem envolvendo mais de 300 computadores. O projecto excedeu os prazos de tal forma que obrigou ao adiamento da abertura do aeroporto (16 meses). Foi necessário mais 50% do orçamento inicial para o pôr a funcionar. Ariane 5, Junho de 1996 Explodiu no voo inaugural devido a uma série de falhas no software de navegação. Em circunstâncias específicas era efectuada uma divisão por zero. O sistema de segurança consistia em ter redundância: em caso de erro os dados eram processados por outro programa (uma cópia do primeiro! abordagem adequada para hardware, mas não para software).

14 13 Estatísticas sobre desenvolvimento de Software (VI) Em conclusão: Problemas com o desenvolvimento de software: Atrasos na entrega. Incumprimento dos orçamentos. Falha na identificação e satisfação das necessidades dos clientes. Produtos entregues com falhas. Algumas causas para o problema: Complexidade dos sistemas tem vindo a aumentar Quanto mais o hardware evolui, mais somos tentados a atacar problemas cada vez mais complexos. Condições de utilização do software são cada vez menos controladas Cada vez se torna mais difícil prever como/onde o software será utilizado.

15 14 Desenvolvimento de Software (Riscos) Desenvolver um bom sistema não é tarefa trivial Riscos associados aos requisitos. Riscos tecnológicos. Riscos de competência. Riscos políticos.

16 15 Desenvolvimento de Software (Riscos) Desenvolver um bom sistema não é tarefa trivial (versão moderna!)

17 16 Desenvolvimento de Software (Riscos) (II) Riscos associados aos requisitos É necessário comunicar com os peritos da organização para: compreender que tarefas o sistema deve suportar; compreender como o sistema encaixa nas actividades da organização. Um dos maiores desafios é construir o sistema certo. Riscos Tecnológicos Qual a tecnologia mais apropriada? Como controlar a complexidade? É necessário validar as soluções tecnológicas o mais cedo possível. Riscos de Competência É necessário saber-se o que se está a fazer (obviamente?). Exemplo de OO: fácil de aprender/difícil de dominar. Riscos Políticos Por muito bom que seja o SI só terá sucesso se tiver o apoio das pessoas certas.

18 17 Respostas I - Tecnologia Primeiras abordagens à Crise do Software preocupavam-se mais com a produtividade do que com a qualidade. As tecnologias de programação têm vindo a tornar-se cada vez mais sofisticadas (tanto aos níveis dos paradigmas como das ferramentas). Paradigmas de Programação O modo como estruturamos o código tem vindo a evoluir como resposta ao aumento da complexidade do software: Programação estruturada (70's) Estruturar o código para controlar complexidade. Programação modular Estruturar o código, mas também os dados. Programação orientada aos objectos (80's) Aumenta o poder expressivo na estruturação de dados/código. Programação orientada aos aspectos (90's) Estruturação passa a ser feita, não em termos de objectos, mas em termos de aspectos de interesse.

19 18 Respostas I Tecnologia (II) Orientação aos Objectos Mundo visto como sendo composto por objectos com identidade própria e capacidade de interacção uns com os outros Vantagens reclamadas pela orientação aos objectos: uma formal natural e compreensível de pensar/programar; uma forma robusta e estável de programar; facilita a manutenção dos sistemas e aumenta a produtividade Quatro aspectos fundamentais da orientação aos objectos: Identidade (dos objectos); Classificação (objecto como instância da sua classe); Polimorfismo (operação+classe=método); Herança. (super/sub-classes)

20 19 Respostas I Tecnologia (III) Identidade cada objecto tem identidade própria; podem existir objectos iguais; continuam, no entanto, a serem distintos (cf. gémeos). Classificação os objectos agrupam-se em classes; todos os objectos de uma mesma classe possuem o mesmo conjunto de propriedades (atributos), o mesmo comportamento (operações) e as mesmas relações com outros objectos. Polimorfismo a mesma operação pode ter comportamentos diferentes em objectos de classes diferentes; é uma forma de abstracção. Herança (Especialização/Generalização) classes são organizadas de acordo com as suas similitude e diferenças; facilita a reutilização.

21 20 Respostas I Tecnologia (IV) Abstracção prestar atenção aos aspectos essenciais, ignorando os detalhes irrelevantes; nível de abstracção? demasiada abstracção, crie-se uma sub-classe (especializa-se); demasiado detalhe, crie-se uma super-classe (generaliza-se); O desenvolvimento passa a middle-out. Encapsulamento dados e operações correspondentes são agrupados numa única entidade. Information hiding (ocultação de informação) torna-se possível esconder o estado (dados) dos objectos; acesso aos dados passa a ter que ser efectuado (de forma mais controlada) através das operações. Representation hiding (ocultação da representação) ao ocultarmos os dados, passa também a ficar oculta a forma como estes estão representados.

22 21 Respostas I Tecnologia (V) Ferramentas Ambientes de Desenvolvimento Integrado (IDEs) cada vez mais sofisticados procuram facilitar a tarefa de programação (e também de análise). Ferramentas para o UML IBM Rational inicialmente da Rational, agora da IBM; Together inicialmente da TogetherSoft, agora da Borland; Poseidon (versão community edition); Visual Paradigm (versão community edition); ArgoUML argouml.tigris.org (open source /BSD) plugins para NetBeans, Eclipse, Jbuilder, etc. etc., etc., etc.

23 22 Respostas II Métodos de Desenvolvimento Mas... A tecnologia só por si não resolve os problemas (e estes têm vindo a aumentar!) A tecnologia é apenas uma ferramenta, é necessário saber como utilizá-la Hoje em dia a Crise do Software tem muito a ver com a qualidade do produto final. São necessários métodos de desenvolvimento que garantam produtividade e qualidade. método do Lat. methodu < Gr. méthodos, caminho para chegar a um fim s. m., processo racional que se segue para chegar a um fim; modo ordenado de proceder; processo; ordem; conjunto de procedimentos técnicos e científicos; (

24 23 Respostas II Métodos de Desenvolvimento (II) Processo de desenvolvimento Um processo define quem está a fazer o quê, quando e como tendo em vista atingir um dado objectivo (Jacobson et al. 99) Um processo: Identifica um conjunto de regras que definem como o desenvolvimento de um sistema deve ser efectuado. Inclui, normalmente, uma descrição dos documentos que devem ser produzidos e em que ordem. Pode incluir indicação da linguagem (de modelação) a ser utilizada para a produção dos documentos. Método de desenvolvimento: Processo de desenvolvimento + Linguagem de modelação

25 24 Respostas II Métodos de Desenvolvimento (III) Waterfall Análise Desenho Implementação Testes Manutenção Este tipo de processo define uma série de etapas executadas sequencialmente. Assume que é sempre possível tomar as decisões mais correctas irrealista!

26 25 Respostas II Métodos de Desenvolvimento (IV) Estrela Implementação Análise de tarefas/ Análise funcional Prototipagem Avaliação Prototipagem Especificação de Requisitos Neste tipo de processo coloca-se em destaque a necessidade de avaliar o sistema em todas as fases de desenvolvimento.

27 26 Respostas II Métodos de Desenvolvimento (V) Espiral Especificar Implementar Testar Avaliar Analisar requisitos Analisar riscos Planear Neste tipo de processo reconhece-se a necessidade de iterar para controlar riscos.

28 27 Respostas II Métodos de Desenvolvimento (VI) (Rational) Unified (software development) Process Um processo: guiado por casos de uso (use cases); centrado na arquitectura do sistema a desenvolver; iterativo e incremental: Início; Elaboração; Construção; Transição.

29 28 Unified Software Development Process Sumário: Breve história do Unified Process O Unified Process O ciclo de vida do Unified Process O RUP (Rational Unifed Process)

30 29 Breve História do Unified Process Rational Unifed Process Booch, Rumbaugh & Jacobson Rational Objectory Process Booch, Rumbaugh & Jacobson Rational Approach Objectory Process Booch & Rumbaugh Jacobson Ericsson Jacobson Finais dos anos 60

31 30 O Unified Process O Unified Process é: Uma framework para o processo de desenvolvimento, genérica e adaptável. O Unifed Process fomenta: O desenvolvimento baseado em componentes. O Unified Process utiliza: A UML como ferramenta de modelação durante todas as fases do processo de desenvolvimento. Três ideias chave Desenvolvimento guiado por Use Cases (Casos de Uso). Desenvolvimento centrado na arquitectura. Desenvolvimento iterativo e incremental.

32 31 Desenvolvimento guidado por Use Cases Um use case representa uma interacção entre o sistema e um humano ou outro sistema; O modelo de use cases é utilizado para: guiar a concepção do sistema (captura de requisitos funcionais); guiar a implementação do sistema (implementação de um sistema que satisfaça os requisitos); guiar o processo de testes (testar que os requisitos são satisfeitos).

33 32 Desenvolvimento centrado na arquitectura O modelo de use cases descreve a função do sistema, o modelo da arquitectura descreve a forma; O modelo arquitectural permite tomar decisões sobre: O estilo de arquitectura a adoptar; Quais os componentes do sistema e quais as suas interfaces; A composição de elementos estruturais e comportamentais.

34 33 Desenvolvimento iterativo e incremental Permite dividir o desenvolvimento em pedaços geríveis"; Em cada iteração: identificar e especificar use cases relevantes; criar uma arquitectura que os suporte; implementar a arquitectura utilizando componentes; verificar que os use cases são satisfeitos. Selecção de uma iteração: grupo de use cases que extendam a funcionalidade; aspectos de maior risco.

35 34 Ciclo de vida do Unified Process

36 35 Fases do Unified Process (I) Início Identificar o problema. Definir âmbito e natureza do projecto. Fazer estudo de viabilidade. Resultado da fase: decisão de avançar com o projecto. Elaboração (Análise / Concepção Lógica) Identificar o que vai ser construído (quais os requisitos?). Identificar como vai ser construído (qual a arquitectura?). Definir tecnologia a utilizar. Resultado da fase: uma arquitectura geral (conceptual) do sistema.

37 36 Fases do Unifed Process (II) Construção (Concepção Física/Implementação) Processo iterativo e incremental. Em cada iteração tratar um (conjunto de) Use Case: análise / especificação / codificação / teste / integração Resultado da fase: um sistema de informação! Transição Realização dos acertos finais na instalação do sistema. Optimização, formação. Resultado da fase: um sistema instalado e 100% funcional (espera-se!).

38 37 O RUP (Rational Unifed Process) O RUP é uma concretização do Unified Process. O RUP fornece: ferramentas de gestão do processo de desenvolvimento segundo a framework definida pelo Unified Process (ver página 51); ferramentas para a modelação e desenvolvimento baseadas no UML; uma base de conhecimento (knowledge base). Na verdade as coisas passaram-se um pouco ao contrário...

39 38 Apresentação da UML Sumário: UML Vantagens da utilização de modelos Problemas com a utilização de modelos Breve história do UML Diagramas do UML

40 39 UML Unified Modelling Language (Booch, Jacobson & Rumbaugh) a UML foi pensado para o desenvolvimento de sistemas orientados aos objectos, mas é independente das linguagens de programação a utilizar permite explorar o paradigma OO (cf. riscos tecnológicos) a UML possibilita o trabalho a diferentes níveis de abstracção facilita comunicação e análise (cf. riscos de requisitos) a UML não é uma linguagem, mas uma família de linguagens gráficas para modelar e construir sistemas software inclui modelos para as diferentes fases do desenvolvimento a UML não é um processo de desenvolvimento de software, mas pode ser utilizado com diferentes processos a UML é um standard mantido pelo OMG (Object Management Group) a UML é suportado por ferramentas Rational Rose (IBM), Together (Borland), Visual Paradigm, Poseidon, etc., etc.

41 40 Linguagens de Modelação Permitem-nos escrever modelos da solução a desenvolver. Modelos: Thinking made public ; Simplificações da realidade representações abstractas de um sistema, efectuadas de um ponto de vista específico. Abstracção: Mecanismo poderoso para lidar com a complexidade; Uma linguagem de modelação tem: léxico regras que definem quais os elementos válidos da linguagem; sintaxe regras que definem quais as combinações válidas dos elementos; semântica regras que definem o significado dos modelos legais. A linguagem UML é diagramática modelos são expressos com diagramas.

42 41 Linguagens de Modelação (II) Tipos de Modelos: Preditivos Utilizados para prever o comportamento de um sistema. Normativos Utilizados para definir comportamentos adequados do sistema. Descritivos Utilizados para descrever a estrutura e comportamento do sistema. Na UML: Utilizam-se vários modelos para representar uma mesma realidade (os modelos não são a realidade) Utilizam-se vários diagramas para representar um modelo (os diagramas não são os modelos) De uma forma geral, os modelos UML são descritivos.

43 42 Vantagens da utilização de modelos Auxiliam a compreender a realidade. Sendo abstracções da realidade, os modelos permitem descrever o que é considerado essencial num dado contexto, escondendo detalhes desnecessários/ irrelevantes nesse contexto. Ajudam a comunicar ideias de forma simplificada. Sendo simplificações da realidade, permitem comunicar apenas os aspectos pretendidos. Ajudam a documentar as decisões tomadas durante o desenvolvimento. Os modelos desenvolvidos constituem uma base documental para a descrição do processo de desenvolvimento Thinking made public.

44 43 Problemas com a utilização de modelos Mais uma linguagem a aprender. Isso acarreta custos, quer monetários (para as organizações), quer cognitivos (para os indivíduos). Modelos apresentam uma visão idealizada da realidade. Existe o risco de durante o processo de modelação nos esquecermos que os modelos são representações da realidade e não a realidade. É necessário considerar se estamos a utilizar abstracções adequadas e a modelar todos os aspectos relevantes. A fase de modelação atrasa a produção de código (pseudo-problema!) Espera-se, no entanto, que o código produzido seja de melhor qualidade (assim como o próprio sistema desenvolvido). Uma abordagem iterativa e incremental soluciona este problema. Por outro lado, é já possível passar, de forma semi-automática, dos modelos para o código. Regra dos 5/6 1/6 (análise e concepção vs. Codificação) Atenção à analysis paralysis!

45 44 Breve história da UML Anos 60 Simula 67 é a primeira linguagem orientada aos objectos; Anos 70 Aparece o Smalltalk; Anos 80 as linguagens orientadas aos objectos (OO) tornam-se utilizáveis: Smalltalk estabiliza; surgem o Objective C, C++, Eiffel, CLOS, etc. Finais dos anos 80 surgem as primeiras metodologias de modelação OO Anos 90 existem dezenas de metodologias de modelação OO: Shlaer/Mellor, Coad/Yourdon, Booch, OMT (Rumbaugh), OOSE (Jacobson), etc. meados dos anos 90 começam as tentativas de unificação dos métodos 1994 Rumbaugh junta-se a Booch na Rational Software Corporation 1995 Booch e Rumbaugh apresentam a versão 0.8 do Unified Method (viria depois a mudar de nome para Unified Modelling Language); Jacobson junta-se a Booch e Rumbaugh 1996 o OMG (Object Management Group) pede propostas para um standard de modelação OO Setembro, 1997 a Rational, em conjunto com outras empresas (HP, IBM, Oracle, SAP, Unisys,...), submete a UML 1.0 ao OMG como proposta de standard (existiram outras propostas) Novembro, 1997 a UML é aprovado como standard OO pelo OMG; o OMG assume a responsabilidade do desenvolvimento da UML Anos a UML é aceite como norma ISO (ISO/IEC 19501) 2006 a UML 2.0 está em desenvolvimento

46 UML - EVOLUÇÃO

47 46 Diagramas da UML A UML define os seguintes oito diagramas base: Diagramas de Use Case. Diagramas de Classe Diagramas Comportamentais Diagramas de Interacção Diagramas de Sequência Diagramas de Comunicação (ou Colaboração) Diagramas de máquinas de estado (ou Statecharts) Diagramas de Actividade Diagramas de implementação Diagramas de componentes Diagramas de Instalação (Deployment) Diagramas UML

48 47 A escolha dos modelos a utilizar tem uma grande impacto na forma como um dado problema é abordado e, consequentemente, na solução que se irá atingir. A Abstracção (prestar atenção aos detalhes importantes e ignorar os irrelevantes) é um factor fundamental. Assim: Todo o sistema complexo deve ser abordado através de um pequeno conjunto de vistas/modelos tão independentes quanto possível; Cada modelo pode ser expresso a diferentes níveis de detalhe; Os melhores modelos são aqueles que têm relação directa com a realidade. Os oito tipos de diagramas identificados anteriormente procuram cobrir todas as necessidades de modelação que ocorram durante o desenvolvimento de software.

49 48 Os diagramas não são os modelos! / Os modelos não são o sistema!

50 MOTIVAÇÃO - IMPORTÂNCIA Stephen Seidman, The Path to Software Engineering Professionalism, Join 08, Sept., U. Minho

51 MOTIVAÇÃO - IMPORTÂNCIA Stephen Seidman, The Path to Software Engineering Professionalism, Join 08, Sept., U. Minho

52 MOTIVAÇÃO - IMPORTÂNCIA O desenvolvimento de software ainda tem muito de arte e muito pouco de verdadeira Engenharia. Quando um software de computador é bem-sucedido quando satisfaz as necessidades das pessoas que o usam, tem desempenho sem falhas por um longo período, é fácil de modificar e ainda mais fácil de usar, ele pode e efetivamente modifica as coisas para melhor. Mas, quando o software falha quando os seus utilizadores ficam insatisfeitos, quando tem tendência a erros, quando é difícil de modificar e ainda mais difícil de usar acontecem coisas desagradáveis. Todos nós desejamos construir software que torne as coisas melhores evitando os problemas que espreitam na sombra dos esforços mal sucedidos. Para obter sucesso, precisamos de disciplina e método quando o software é projectado e construído. Precisamos de uma abordagem de engenharia. R. Pressman, Engenharia de Software, McGraw Hill, 6ª. Ed., 2005.

53 MOTIVAÇÃO - IMPORTÂNCIA Abordagem de Engenharia ao Questões importantes 1. Definir um Processo 2. Usar Modelos abstractos do Sistema a conceber e implementar 3. Possuir Métodos rigorosos 4. Usar Ferramentas de apoio ao projecto

54 MOTIVAÇÃO - IMPORTÂNCIA Um Processo de Desenvolvimento de Software consiste de uma estruturação das várias disciplinas ou fases que estão contidas na filosofia de desenvolvimento de software adoptada por uma dada organização para o desenvolvimento do produto sistema software. Mas, fundamentalmente, consiste em definir QUEM no projecto está a fazer O QUÊ, QUANDO o deve fazer e DURANTE quanto tempo, e como se devem atingir os objectivos definidos. Requisitos dos clientes Processo de Desenvolvimento de SW Sistema Software

55 MOTIVAÇÃO - IMPORTÂNCIA A nossa abordagem de Engenharia ao Desenvolvimento de Sistemas Software, passa por algumas ideias fundamentais, a saber: Adoptar o Rational Unified Process (RUP) como processo de base para o desenvolvimento; Seguindo o RUP, apostar na Modelação Orientada aos Objectos; Seguindo o RUP, usar UML (standard da OMG), como notação de modelação; Definir alguma metodologia na utilização dos modelos UML. Realizar o desenvolvimento integrado e coerente de todas as camadas do sistema software, desde a camada de dados até à camada interactiva.

56 ABORDAGEM EM DSS Tal como noutras áreas, talvez a táctica esteja correcta, mas são a visão (a estratégia) e a dinâmica (o processo) as questões que são fundamentais. Seguiremos uma estratégia Orientada aos Objectos e uma dinâmica parcialmente alinhada pelo RUP ( Rational Unified Process ) mas também pelos processos AGILE, não rígidos.

57 UML: Unified Modeling Language Objectivos: Modelação, Comunicação, Teste e Documentação das várias facetas/aspectos de um sistema software intensive Linguagem de modelação visual (+ algum texto) É um standard de facto v v v Não é metodologia/processo: não diz quem deve fazer o quê, quando e como; É rigorosa mas não formal; Pode ser usada por diferentes metodologias; É, hoje, a base da designada Model Driven Software Engineering (MDSE).

58 UML: DIAGRAMAS e MODELOS VISÕES FUNDAMENTAIS: ESTRUTURAL e COMPORTAMENTAL

59 E DEPOIS METODOLOGIA Domain Model + Use Case Model são depois refinados sistematicamente nos outros modelos, estruturais e comportamentais, idealmente diferenciando objectos que são de camadas distintas (dados, computacional, negócio e IU).

60 59 Diagramas de Use Case Sumário: Definição de requisitos Diagramas de Use Case I conceitos base Diagramas de Use Case II conceitos avançados Resumo Exercícios

61 60 Definição de requisitos Definição de requisitos do sistema, duas abordagens possíveis: Visão estrutural interna Visão orientada aos use case externa Visão Estrutural (OO) Definir classes; Definir métodos das classes; Definir interface com o utilizador (comportamento do sistemas face ao utilizador); Problemas: O que interessa ao utilizador é o comportamento do sistema, no entanto a interface com o utilizador só é definida no final do processo. Perigo de o sistema não fornecer toda a funcionalidade pretendida; Perigo de o sistema fornecer funcionalidade não pretendida (= despedício de trabalho).

62 61 Definição de requisitos (II) Visão orientada aos Use Case Identificar actores quem vai interagir com o sistema? Identificar Use Case o que se pretende do sistema? Identificar classes de suporte à realização dos use case como vai a funcionalidade necessária ser implementada? Vantagens: Não há trabalho desnecessário; O Sistema de Informação suporta as tarefas do cliente.

63 62 Definição de Use Case Uma unidade coerente de funcionalidade um serviço define um comportamento do sistema sem revelar a estrutura interna apenas mostra a comunicação entre sistema e actores o conjunto de todos os use case define a funcionalidade do sistema deve incluir o comportamento normal, bem como variações (erros, etc.) vamos definir o comportamento com texto estruturado; vamos também definir as pré-condições e pós-condições de cada use case (cf. design by contract).

64 63 Design by contract Design by contract (DBC) baseia-se na noção de um contrato entre um cliente e um fornecedor para a realização de um serviço. O conceito central do DBC é a asserção (uma asserção é uma expressão booleana que nunca deverá ser falsa). Tipicamente as asserções são automaticamente testadas durante a fase de debug. O DBC identifica três tipos de asserções: pré-condições condições que se devem verificar para a invocação de um dado serviço ser válida; pós-condições condições que se devem verificar após a execução de um serviço; invariantes asserções que se devem verificar durante o tempo de vida da entidade a que se aplicam. A partir da versão 1.4 o Java passou a ter asserts que podem ser utilizados para definir pré- e pós-condições no entanto não suporta invariantes).

65 64 O use case para fazer um telefonema: Use Case: Fazer Telefonema Pré-condição: Telefone ligado e em descanso Comportamento normal: 1. Utilizador marca número e pressiona OK 2. Telefone transmite sinal de chamada 3. Utilizador aguarda 4. Telefone estabelece ligação 5. Utilizador fala 6. Utilizador pressiona tecla C 7. Telefone desliga chamada Comportamento Alternativo: 3. Telefone Transmite sinal de ocupado 4. Utilizador pressiona tecla C 5. Telefone cancela chamada Comportamento Alternativo: 3. Telefone cancela chamada Pós-condição: Telefone ligado e em descanso

66 65 Identificação de Use Cases Podemos identificar os Use Case do sistema a partir da identificação de cenários de utilização. Um cenário descreve um contexto concreto de interacção entre o utilizador e o sistema. Por Exemplo: Durante o semestre o Prof. Faísca foi enviando os sumários com breves resumos da matéria leccionada, via , para o sistema Fly2. Após o fim das aulas, o Prof. Faísca utilizou a interface web do sistema para actualizar cada um dos sumários com descrições mais completas das matérias leccionadas. Finda essa actualização, imprimiu os sumários e enviou-os à Secretaria. A partir dos cenários podemos identificar os Use Cases (serviços) necessários à correcta disponibilização da funcionalidade requerida pelo mesmo.

67 66 Identificação de Use Cases (II) No cenário anterior podemos identificar os seguintes Use Case: 1. Enviar sumários via web 2. Actualizar sumários via web 3. Imprimir sumários (via web? / via ?) 4. Enviar sumários à secretaria deverá este use case ser considerado? No cenário descrito o envio é feito em papel. Não se trata, portanto, de um serviço fornecido pelo sistema. No entanto, podemos discutir a possibilidade de o envio passar a ser feito electronicamente estariamos a alterar o modo de trabalho inicialmente previsto/actual! Durante o semestre o Prof. Faísca (1.) foi enviando os sumários com breves resumos da matéria leccionada, via , para o sistema Fly2. Após o fim das aulas, o Prof. Faísca (2.) utilizou a interface web do sistema para actualizar cada um dos sumários com descrições mais completas das matérias leccionadas. Finda essa actualização, (3.) imprimiu os sumários e (4.) enviou-os à Secretaria.

68 67 Diagramas de Use Cases conceitos base Modelam o contexto geral do sistema. Quais os actores que com ele se relacionam e que use case deve suportar. A concepção do sistema é guiada pelo modelo de use case: Utilizam-se use cases para capturar os requisitos funcionais do sistema de uma forma sistemática; O modelo de use case captura toda a funcionalidade requerida pelos utilizadores; A implementação do sistema é guiada pelo modelo de use case: cada use case é implementado sucessivamente: quando todos os use cases estiverem implementados obtém-se o sistema final; fica facilitada a manutenção do sistema sempre que os requisitos sejam alterados; O modelo de use case é utilizado para o planeamento de testes: Após a definição do modelo de use case: planear black-box testing. Após a implementação dos use cases: planear white-box testing.

69 68 Black-box testing Utilizado para verificar se o sistema implementa toda a funcionalidade pretendida. Permite detectar erros de omissão (funcionalidade não implementada). White-box testing Utilizado para verificar se o sistema implementa a funcionalidade de forma correcta. Permite detectar erros na implementação da funcionalidade pretendida.

70 69 Exemplo de diagrama de Use Cases Sistema Actor Associação Use Case

71 70 Sistema define as fronteiras do sistema Use Case (novamente) Uma unidade coerente de funcionalidade um serviço define um comportamento do sistema sem revelar a estrutura interna apenas mostra a comunicação entre sistema e actores o conjunto de todos os use case define a funcionalidade do sistema deve incluir o comportamento normal, bem como variações (erros, etc.) vamos definir o comportamento com texto estruturado; vamos também definir as pré-condições e pós-condiçõoes de cada use case (cf. design by contract).

72 71 Actor uma abstracção para uma entidade fora do sistema um actor modela um propósito (alguém que tem um interesse específico no sistema) pode não mapear 1 para 1 com entidades no mundo real um actor não é necessariamente um humano pode ser um computador, outro sistema, etc. cada actor define um conjunto de papeis que utilizadores do sistema podem assumir o conjunto de todos os actores definem todas as formas de interacção com o sistema Associação representa comunicação entre o actor e o sistema através de use cases

73 72 Novamente a gestão de sumários Sistema de gestão de sumários e presenças. Etapas a cumprir (com o auxílio de cenários de utilização do sistema): 1. Identificar actores 2. Identificar use cases 3. Identificar associações Identificar actores Quem vai utilizar o sistema? Neste caso: Docente, Secretaria e Aluno Identificar use cases Objectivos dos utilizadores/actores? Resposta a estimulos externos.

74 73 Novamente a gestão de sumários (II) Identificar associações Que actores utilizam que use cases? Nem sempre é imediatamente evidente se a comunicação entre o sistema em análise e sistemas externos deve ser representada. Quatro abordagens podem ser identificadas: mostrar todas as associações; mostrar apenas as associações relativas a interacção iniciada por sistemas externos; mostrar apenas as associações relativas a interacções em que é o sistema externo o interessado no use case; não mostrar associações com sistemas externos.

75 74 Todas as associações Todos os sistemas externos que interagem com o sistema em análise são apresentados como actores e todas as interacções são representadas nos diagramas. Demasiado abrangente, em muitos casos existem interacções com outros sistemas apenas por razões de implementação e não por se tratarem de requisitos do sistema. Apenas as associações relativas a interacção iniciada por sistemas externos Só são representados como actores os sistemas externos que iniciem diálogo com o sistema em análise. Mesmo assim muito abragente.

76 75 Apenas as associações em que é o sistema externo o interessado Neste caso só são apresentados como actores os sistemas externos que necessitam de funcionalidade fornecida pelo sistema em análise. Usalmente esta é uma solução equilibrada. Não mostrar associações com sistemas externos Apenas os utilizadores são actores, neste caso quando existem sistemas externos apresentam-se os seus actores em diálogo directo com o sistema a ser modelado. De uma outra forma esta solução também é demasiado abrangente e pode levar a confusão sobre quem está realmente a utilizar o sistema.

77 76 Novamente a gestão de sumários (III) Visão geral versão 1 Faz sentido estar aqui? Falta mecanismo de autenticação!

78 77 Novamente a gestão de sumários (IV) Visão geral versão 2 são adicionadas pré-condições nos use case Gerir Sumários, Gerir Presenças, Gerir Disciplinas e Registar Presença a exigir que tenha sido feito login.

79 78 Diagramas de Use Cases conceitos avançados «include» Um estereótipo de dependência. Utilizado para indicar a reutilização de comportamento. Actores utilizam os use case base. Quando o use case base é executado, também o use case incluido o é

80 79 Use Case: Remover Aula Comportamento normal: 1. «include» Ler código 2. Sistema apresenta Aula 3. Actor confirma remoção 4. Sistema confirma realização da remoção Comportamento Alternativo: 3. Actor cancela remoção Comportamento Alternativo: 2. Sistema indica que não existe aula com esse código. Use Case: Alterar Aula Comportamento normal: 1. «include» Ler código 2. Sistema apresenta Aula 3. Actor altera dados e confirma alteração 4. Sistema confirma realização da alteração Comportamento Alternativo: 3. Actor cancela alteração Comportamento Alternativo: 2. Sistema indica que não existe aula com esse código.

81 80 Também pode ser utilizado para estruturar use cases. Não exagerar! Em alternativa, utilizar sub-diagramas.

82 81 «extend» Outro estereótipo de dependência. Permite adicionar comportamento a um use case base. Estratégia: escrever caso base; identificar variações; utilizar extensões para elas. Caso base deve ser um use case bem formado sem as extensões! Extensão pode não ser um use case bem formado por si só.

83 82 Generalização/Especialização Sub-elementos são casos particulares de super-elementos. Um sub-elemento pode ser utilizado onde quer que o super-elemento possa. Útil para user profiling (definição de níveis de acesso). Nos exemplos apresentados: Existem duas formas de fazer login. O actor Admin pode realizar todos os use cases de Docente e Secretaria.

84 83 Diagramas de Use Case Resumo Os diagramas de Use Case permitem definir os requisitos funcionais de um sistema: que serviços deve fornecer; a quem os deve fornecer. Notação diagramática facilita o diálogo (com os clientes e dentro da quipa de desenvolvimento). Utilizando diagramas de use case, clientes e equipa de desenvolvimento podem chegar a um acordo sobre qual o sistema a desenvolver. A resolução de alterações nos requisitos funcionais fica facilitada. No entanto: Os diagramas de use case não suportam a captura de requisitos não funcionais. Quando utilizar diagramas de Use Case? Sempre que se estiverem a analisar requisitos!

85 84 Diagramas de Use Case Estratégia Use Case Driven FMM2007

86 CONHECIMENTO FUNDAMENTAL O QUE É UM SISTEMA DE INFORMAÇÃO? Um Sistema de Informação é hoje entendido como um sistema computacional, ou seja, um conjunto de componentes de hardware e de software, em geral software intensive, ou seja, fundamentalmente com a inteligência residente no software e a capacidade de processamento residente no hardware e na sua respectiva arquitectura, mas que tem por objectivo crucial fornecer um conjunto de procedimentos para o registo, o tratamento, a análise e a apropriada disponibilização de informação relevante para os diferentes níveis de responsabilidade de gestão e decisão, típicas de uma organização moderna. Os diferentes níveis de responsabilidade e de necessidade de informação/conhecimento dentro das organizações, e, em consequência, os diferentes tipos de SI necessários às organizações, estão hoje muito bem caracterizados.

87 CONHECIMENTO CLÁSSICO Em resumo, qualquer que seja o seu tipo ou missão, os SI são criados sempre com os seguintes objectivos em mente: Apenas existem para auxiliar (em eficácia e eficiência) a organização cliente; Quem deve definir requisitos e objectivos é a organização cliente, mas os projectistas podem dar ideias durante a fase de concepção; Antes de criar o SI os projectistas devem tentar compreender o melhor possível a organização, o seu negócio e a sua estrutura de gestão; Devem também compreender de forma rápida quais as pessoas dentro da organização que vão ser os reais utilizadores do SI (cf. os 3 níveis que se apresentaram antes); Devem compreender qual a informação relevante que flui na organização e que parte dela vai passar a integrar o SI DESENVOLVIMENTO DE SISTEMAS SOFTWARE F. Mário Martins (cf. domain model );

88 CONHECIMENTO CLÁSSICO Compreendida a missão (desenvolver Sistemas Software úteis e eficazes usando procedimentos de Engenharia), compreendido o enquadramento (para as organizações, sejam de comércio, serviços, ou indústria), e conhecendo até alguma história de insucesso, o que precisamos de saber e aprender para que se possa inverter tal história e, de 1.- facto, Adoptar deixar um Processo a arte e enveredar de desenvolvimento pela engenharia de Sistemas e, assim, por Software um maior que nos rigor garanta? tais metas, em especial depois de conhecermos a história dos processos desenvolvidos; O processo adoptado deverá dar, justificadamente, muitas mais garantias de sucesso no desenvol-vimento dos actuais e futuros SI (ou Sistemas Software); 2.- Adoptar/Criar Métodos, ou seja, regras sobre como fazer, desde como fazer a captura de requisitos até como fazer a instalação, os testes e a manutenção; 3.- Adoptar Ferramentas que representam o suporte automático DESENVOLVIMENTO DE SISTEMAS SOFTWARE F. Mário Martins ou semi-automático aos processos e aos métodos.

89 CONHECIMENTO CLÁSSICO MODELOS DO PROCESSO DE SOFTWARE São todos relativamente consensuais quanto às várias fases do processo, apenas diferem quanto à dinâmica de execução de tais fases. Vamos definir tais fases com base num modelo mais antigos, o modelo de desenvolvimento sequencial puro, por isso designado em cascata ou waterfall. Assume pura sequência de fases, sem retorno, e que tudo corre bem logo à 1ª : é irrealista!! DESENVOLVIMENTO DE SISTEMAS SOFTWARE F. Mário Martins

90 CONHECIMENTO CLÁSSICO Modelo em Espiral As várias fases de projecto são realizadas de forma iterativa, ou seja, procura-se garantir que só se transita para uma fase mais estável depois de fixadas as fases anteriores. Não é um modelo fácil, porque impõe uma estrututura e uma dinâmica de modificação de projecto, em geral, não suportada pela metodologia e pelas ferramentas actuais. DESENVOLVIMENTO DE SISTEMAS SOFTWARE F. Mário Martins

91 CONHECIMENTO CLÁSSICO O RUP (Rational Unified Process) será para nós a abordagem seguir. DESENVOLVIMENTO DE SISTEMAS SOFTWARE F. Mário Martins

92 CONHECIMENTO CLÁSSICO AS DISCIPLINAS SÂO CONSENSUAIS: CAPTURA DE REQUISITOS: Depois de os estudos de viabilidade, etc., em geral não realizados, indicarem que o Sistema é viável e útil para a organização, haverá que realizar a captura (percepção e entendimento) de todos os requisitos do mesmo, quer do ponto de vista funcional (o que deve ser capaz de fazer, funções e serviços), quer de outros ANÁLISE pontos E MODELAÇÃO de vista não CONCEPTUAL: funcionais No (qualidades dia a dia, e restrições usamos muitas de desenvolvimento, vezes sistemas abstractos tais como que compatibildade nos ajudam a de compreender, tecnologias, de prazos forma de sintéctica, entrega, etc.). partes específicas dos complexos sistemas físicos. Por exemplo, um Mapa do Metro de uma dada cidade (abstracção), auxilia-nos a relacionar as diferentes linhas do metro com as ruas da cidade (sistemas físicos) que o mapa representa. Mas o mapa DESENVOLVIMENTO é, naturalmente DE SISTEMAS SOFTWARE apenas um sistema F. Mário Martins abstracto, 2008 um32 modelo, uma síntese da realidade.

93 CONHECIMENTO CLÁSSICO AS DISCIPLINAS SÂO CONSENSUAIS: CONCEPÇÃO/DESIGN/ESPECIFICAÇÃO: Fase na qual, após todas as análises realizadas na fase anterior, se determina, escreve, de forma mais ou menos rigorosa, o que o Sistema Software deve ser capaz de fazer, informação que é fundamental para os programadores, assim sejam eles capazes de compreender as especificações que lhes são passadas. Na prática, nada disto acontece ETC: Mas há algumas perspectivas mais concretas, em especial baseadas numa abordagem por objectos, a todo o processo de desenvolvimento de software, tal como proposto pelo OMG ( Object Management Group ), de credibilidade universal. DESENVOLVIMENTO DE SISTEMAS SOFTWARE F. Mário Martins

94 OBJECT MANAGEMENT GROUP DESENVOLVIMENTO DE SISTEMAS SOFTWARE F. Mário Martins

95 are Engineering: A Practitioner's Approach, 6/e O QUE DIZ O RUP O RUP (Rational Unified Process) será para nós a abordagem seguir. DESENVOLVIMENTO DE SISTEMAS SOFTWARE F. Mário Martins

96 O QUE DIZ O RUP Processo de Desenvolvimento de Software que é iterativo e incremental As várias fases são divididas em séries de mini-fases que corres-pondem a sucessivas versões mais completas dos sistemas. DESENVOLVIMENTO DE SISTEMAS SOFTWARE F. Mário Martins

97 O QUE DIZ O RUP RUP é use-case driven Os Use Cases (Casos de Uso) são instrumentos funda-mentais do processo, porque na fase de captura de requisitos são os use cases que irão representar os requisitos de funcio-nalidade do sistema e definir as interacções com o sistema, necessárias para deste se obter tal funcionalidade. DESENVOLVIMENTO DE SISTEMAS SOFTWARE F. Mário Martins

98 O QUE DIZ O RUP RUP é use-case driven "Use case driven" means writing the user manual first, then writing the code. This practice reinforces the fundamental notion that a system must conform to the needs of the users, instead of your users conforming to the system. [Doug 2001] Especificação da sequência de interacções que são necessárias para se obter o serviço DESENVOLVIMENTO DE SISTEMAS SOFTWARE F. Mário Martins

99 O QUE DIZ O RUP RUP baseia-se na criação de múltiplos modelos usando UML Um modelo é uma representação simplificada de um aspecto da realidade existente ou a construir, com um propósito específico; Específico da engenharia: modelar qq. coisa ainda não existente para melhor a criar. Estrutura + Comportamento Nota: 1 aspecto => 1..* modelos Mm: Espaço de modelação Mr: Mundo real DESENVOLVIMENTO DE SISTEMAS SOFTWARE F. Mário Martins

100 Modelos são conjuntos de diagramas + texto; Diagramas são vistas de um modelo; DESENVOLVIMENTO DE SISTEMAS SOFTWARE F. Mário Martins

101 USE CASES UML Diagram Structure Diagram Behaviour Diagram Classes Components Objects Composite Deployment Packages Use Cases Activity Machine States Component Interaction Sequence Collaboration Interaction Timing DESENVOLVIMENTO DE SISTEMAS SOFTWARE F. Mário Martins

102 USE CASES: Elementos Diagramas de Use Case especificam O QUE um sistema deve funcionalmente fazer, tal como observável de um ponto de vista externo (humano ou não, p.e., outro sistema). Conceitos: Actores, Use Cases e Sujeito (sistema). DESENVOLVIMENTO DE SISTEMAS SOFTWARE F. Mário Martins

103 USE CASES Use Case = Uma funcionalidade do sistema (software ou não). DESENVOLVIMENTO DE SISTEMAS SOFTWARE F. Mário Martins

104 USE CASES DESENVOLVIMENTO DE SISTEMAS SOFTWARE F. Mário Martins

105 Em resumo, Use Case = Uma funcionalidade do sistema (software ou não).

106 USE CASES Um actor representa um papel ( role ) que alguém ou qualquer coisa externa ao sistema representa, ao ser responsável por iniciar os eventos necessários (interagir) para que uma determinada tarefa se cumpra. Uma pessoa pode corresponder a vários actores e viceversa. Um use case é um resumo de todos os possíveis cenários para a realização de uma dada tarefa ou obtenção de um dado objectivo (goal). É comum um use case ter vários actores envolvidos. O que falta? Modularidade, estruturação e reutilização! Que relações são típicas da abordagem OO?

107 USE CASES Não esquecer que cada use case diagramático irá ser depois especificado textualmente passo a passo (exº em Visual Paradigm).

108 USE CASES: <<include>> Semântica Operacional: Invocação de uma subrotina <<include>> diz-se um estereótipo (uma marca especial)

109 USE CASES: <<include>>

110 USE CASES: Importância São uma forma intuitiva e sistemática de capturar requisitos funcionais; São a base de todo o processo de desenvolvimento; Permitem identificar melhor as tarefas que são os objectivos dos utilizadores do sistema; Identificam o que o sistema deve fazer para cada tipo de utilizador; Especificam todas as possíveis utilizações do sistema; São instrumento de diálogo entre clientes e projectistas; Permitem desenvolver protótipos da Interface com o Utilizador.

111 USE CASES: Exemplo IBM - RUP

112 USE CASES: a continuar Artigo para ler sobre Use Cases: Use Cases: Yesterday, Today, and Tomorrow Ivar Jacobson (o pai!)

Desenvolvimento de Software (Riscos) (II)

Desenvolvimento de Software (Riscos) (II) 33 Desenvolvimento de Software (Riscos) (II) Riscos associados aos requisitos É necessário comunicar com os peritos da organização para: compreender que tarefas o sistema deve suportar; compreender como

Leia mais

Diagramas de Use Case

Diagramas de Use Case 86/170 Diagramas de Use Case Sumário Definição de requisitos. Diagramas de Use Case I conceitos base Diagramas de Use Case II conceitos avançados Resumo Exercícios Definição de Requisitos 87/170 Definição

Leia mais

DESENVOLVIMENTO DE SISTEMAS SOFTWARE

DESENVOLVIMENTO DE SISTEMAS SOFTWARE DESENVOLVIMENTO DE SISTEMAS SOFTWARE 3º ANO - LEI 2008-2009 2009 Martins 2008 1 OBJECTIVOS Associar o desenvolvimento de Sistemas Software aos usuais processos e métodos de Engenharia, neste caso, da Engenharia

Leia mais

Diagramas de Use Case Resumo

Diagramas de Use Case Resumo 0 Diagramas de Use Case Resumo Os diagramas de Use Case permitem definir os requisitos funcionais de um sistema: que serviços deve fornecer; a quem os deve fornecer. Notação diagramática facilita o diálogo

Leia mais

UML Visão Geral UML Visão geral v.1.1, Novembro de 2001

UML Visão Geral UML Visão geral v.1.1, Novembro de 2001 UML Visão Geral 1 Índice Introdução Diagramas O que é a UML? Diagrama de casos de utilização Valor da UML Diagrama de classes Origens da UML Diagrama de objectos Parceiros da UML Diagrama de componentes

Leia mais

ARQUITECTURAS DE SOFTWARE UC: ACS - MI/MEI

ARQUITECTURAS DE SOFTWARE UC: ACS - MI/MEI ARQUITECTURAS DE SOFTWARE UC: ACS - MI/MEI 2008-2009 2009 Martins 2008 1 OBJECTIVOS Associar o desenvolvimento de Sistemas Software aos usuais processos e métodos de Engenharia, neste caso, da Engenharia

Leia mais

Introdução ao RUP Rational Unified Process

Introdução ao RUP Rational Unified Process Introdução ao RUP Rational Unified Process UML Diagramas de Classes v.1.1, João Pascoal Faria, 2001 1 O que é Um processo (de engenharia) de software é a definição de um conjunto completo de actividades

Leia mais

Unified Software Development Process

Unified Software Development Process 59/170 Unified Software Development Process Sumário Breve história do Unified Process O Unified Process O ciclo de vida do Unified Process O RUP (Rational Unified Process) 60/170 Breve História do Unified

Leia mais

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DComp 2017 Modelagem de Dados UML 2 1 Eduardo Bezerra Editora Campus/Elsevier Porcentagem de projetos que terminam dentro do

Leia mais

DS: notação. Falta-nos apenas dar exemplos de DSS que contenham a criação de objectos temporários e sua posterior destruição.

DS: notação. Falta-nos apenas dar exemplos de DSS que contenham a criação de objectos temporários e sua posterior destruição. DS: notação Falta-nos apenas dar exemplos de DSS que contenham a criação de objectos temporários e sua posterior destruição. Martins 2008 147 DS: notação Martins 2008 148 DS: notação Mensagem condicional

Leia mais

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Notas de Aula 03: Introdução a Orientação a Objetos e a UML Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas

Leia mais

I Análise de Sistemas

I Análise de Sistemas I Análise de Sistemas Dados e Informação Dados São elementos concretos utilizados como base para discussão, decisão, cálculo ou medição. São valores utilizados como matéria-prima de informação, representada

Leia mais

Engenharia de Software

Engenharia de Software Instituto Superior Politécnico de Ciências e Tecnologia Engenharia de Software Prof Pedro Vunge www.pedrovunge.com I Semestre de 2018 Capítulo 1 Introdução SUMÁRIO Engenharia de Software Definição; Objectivos

Leia mais

Análise de Sistemas. Aula 5

Análise de Sistemas. Aula 5 Análise de Sistemas Aula 5 Prof. Emerson Klisiewicz CONTEXTUALIZAÇÃO Aula 5 Análise Orientada a Objetos Introdução a UML Histórico e Visão Geral Ferramentas CASE O Sucesso... Clientes satisfeitos Eles

Leia mais

Gere Com Saber. Universidade do Minho Licenciatura em Engenharia Informa tica

Gere Com Saber. Universidade do Minho Licenciatura em Engenharia Informa tica Universidade do Minho Licenciatura em Engenharia Informa tica Disciplina de Desenvolvimento de Sistemas de Software Ano Lectivo de 2009/10 Gere Com Saber Andre Barbosa - no 49357 David Leal - no 49321

Leia mais

Requisitos de Sistemas

Requisitos de Sistemas Requisitos de Sistemas Unidade II - Processos de Negócio Identificação Conceitos Modelagem - BPM - UML Processos x Requisitos 1 Processo de negócio CONCEITO Um processo de negócio, processo organizacional

Leia mais

Introdução à Análise e Projeto de Sistemas

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

Leia mais

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Introdução à UML Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin Machado UFMS/FACOM Introdução

Leia mais

2. Modelos de Desenvolvimento de Software

2. Modelos de Desenvolvimento de Software 2. Modelos de Desenvolvimento de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/06 EST, Setúbal Ciclo de Vida do Software Um sistema de software é desenvolvido gradualmente

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa

Leia mais

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Visão Geral da UML SSC 121 - Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Conteúdo Introdução Ferramentas de Apoio Diagramas da UML Elementos Genéricos Material sobre UML

Leia mais

UML (Unified Modelling Language)

UML (Unified Modelling Language) UML (Unified Modelling Language) Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide

Leia mais

Sistemas de Informação

Sistemas de Informação Sistemas de Informação Escola Superior de Tecnologia e Gestão de Felgueiras Engenharia Informática 3º ano - 2003/2004 Ana Maria Madureira Informação Informação informatióne conjunto de dados em princípio

Leia mais

Prof. Dr. Thiago Jabur Bittar

Prof. Dr. Thiago Jabur Bittar Prof. Dr. Thiago Jabur Bittar Uma representação abstrata e simplificada do processo de desenvolvimento software, tipicamente mostrando as principais atividades e dados usados na produção e manutenção de

Leia mais

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo Ciência da Computação Análise e Projeto Orientado a Objetos UML Anderson Belgamo 1 Evolução do Software O rápido crescimento da capacidade computacional das máquinas resultou na demanda por sistemas de

Leia mais

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

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando

Leia mais

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem? DCC / ICEx / UFMG A Linguagem UML A Linguagem UML Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo UML (Linguagem de Modelagem Unificada) É uma notação gráfica (visual) para projetar sistemas OO Não

Leia mais

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão Sumário Introdução à UML BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Humberto Mossri de Almeida hmossri_cursos@yahoo.com.br Marcelo Nassau Malta nassau_cursos@yahoo.com.br

Leia mais

Cadeira: Engenharia de Software

Cadeira: Engenharia de Software Cadeira: Engenharia de Software Aulas 9, 10 15/08/15 Docente: Cláudia Ivete F. Jovo cifjovo@gmail.com or cjovo@up.ac.mz M.Sc. Cláudia Jovo 2017/DI 0 Definição de Eng. Software; Eng. Software Tecnologia

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO Santa Maria, 08 de Novembro de 2013. Contextualização Nas próximas aula iremos começar a modelar e projetar sistemas

Leia mais

Diagramas de Interacção

Diagramas de Interacção 24 Diagramas de Interacção Sumário: Tipos de Diagramas de Interacção Interacções Diagramas de Comunicação conceitos base Diagramas de Sequência conceitos base Diagramas de Comunicação conceitos avançados

Leia mais

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix Introdução A produção de Software é uma atividade build and fix. 1 Introdução build 2 Introdução fix 3 1 Introdução 4 P s Só pessoas motivadas e comprometidas com o projeto garantem o respectivo sucesso;

Leia mais

RUP RATIONAL UNIFIED PROCESS. Prof. Fabiano Papaiz IFRN

RUP RATIONAL UNIFIED PROCESS. Prof. Fabiano Papaiz IFRN RUP RATIONAL UNIFIED PROCESS Prof. Fabiano Papaiz IFRN Criado por três engenheiros de software: Booch, Jacobson e Rumbaugh. Conhecidos na área como Os 3 Amigos, também foram os criadores da UML (Unified

Leia mais

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso. Engenharia de Software Aula 07 Tópicos da Aula Introdução à UML e Introdução a UML Visão geral de alguns diagramas Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 28 Março 2012 A

Leia mais

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução UML: introdução Prof.: Clarindo Isaías Pereira da Silva e Pádua Synergia / Gestus Departamento de Ciência da Computação - UFMG UML: introdução 2 Bibliografia Rumbaugh, J.; Jacobson, I.; Booch, G., The

Leia mais

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que

Leia mais

Capítulo 5 Modelação do Sistema 1

Capítulo 5 Modelação do Sistema 1 Capítulo 5 Modelação do Sistema Capítulo 5 Modelação do Sistema 1 Assuntos abordados Modelos de contexto Modelos de interação Modelos estruturais Modelos comportamentais Engenharia orientada a modelos

Leia mais

Os diagramas de use case capturam os requisitos funcionais do sistema.

Os diagramas de use case capturam os requisitos funcionais do sistema. 109/166 Diagramas de Classe Sumário Colaborações Orientação aos Objectos Diagramas de Classe I conceitos base Diagramas de Classe II conceitos avançados Relações conceitos avançados Diagramas de objectos

Leia mais

Metodologia Simplified. António Rocha

Metodologia Simplified. António Rocha Metodologia Simplified António Rocha - 2003 Metodologias As empresas precisam de uma metodologia simples e eficaz para realizarem o seu primeiro projecto OO Uma metodologia tem mais probabilidades de ser

Leia mais

Desenho de Software. Sumário

Desenho de Software. Sumário (QJHQKDULDGD3URJUDPDomR Desenho de Software Carla Ferreira Carla.Ferreira@dei.ist.utl.pt Sumário Objectivos Problemas Qualidades Técnicas Avaliação e Validação Casos Notáveis Exemplo Conclusões Desenho

Leia mais

UML. Trabalho Análise e Projeto de Sistemas. Aluna: Luana Alves Businaro

UML. Trabalho Análise e Projeto de Sistemas. Aluna: Luana Alves Businaro Curso Técnico Integrado de Informática 2 Ano Projeto Integrador Formação Profissional Trabalho Análise e Projeto de Sistemas UML Aluna: Luana Alves Businaro-1614193 Maio de 2017 Sumário 1 Introdução...

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Processos de Software Professor: Charles Leite O processo de software Um conjunto estruturado de atividades, procedimentos, artefatos e ferramentas necessários para o desenvolvimento

Leia mais

UML 2.0 Método, Linguagem e Ferramenta. Prof. Cesar Augusto Tacla

UML 2.0 Método, Linguagem e Ferramenta. Prof. Cesar Augusto Tacla UML 2.0 Método, Linguagem e Ferramenta Prof. Cesar Augusto Tacla Conteúdo do Curso MÉTODO RUP FERRAMENTA Visual Paradigm Enterprise Architect LINGUAGEM UML UML: Unified Modeling Language Linguagem padrão

Leia mais

DIAGRAMAS DE SEQUÊNCIA

DIAGRAMAS DE SEQUÊNCIA DIAGRAMAS DE SEQUÊNCIA Extraem-se dos UCs Martins 2008 112 DIAGRAMAS DE SEQUÊNCIA 1: withdrawmoney(amount) 2: balance = getbalance() Martins 2008 113 DIAGRAMAS DE SEQUÊNCIA simples síncrona assíncrona

Leia mais

Introdução aos Sistemas de Informação

Introdução aos Sistemas de Informação Introdução aos Sistemas de Informação Sumário: Definição de Sistema de Informação. Problemas no desenvolvimento de Sistemas de Informação. Soluções: Tecnologia; Métodos de desenvolvimento. Linguagens de

Leia mais

Introdução. Pacote. Classe. UML Diagrama de. Atributo. Classes. Método. Prof. Dr. Enzo Seraphim. Visibilidade

Introdução. Pacote. Classe. UML Diagrama de. Atributo. Classes. Método. Prof. Dr. Enzo Seraphim. Visibilidade Introdução Pacote Classe Atributo UML Diagrama de Método Classes Visibilidade Prof. Dr. Enzo Seraphim História 60 70 COBOL, FORTRAN, C Métodos de Análise e Projeto Estruturado 80 início 90 s Smalltalk,

Leia mais

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado) Processo UP Unified Process (Processo Unificado) Conjunto de passos que tem como objetivo atingir uma meta Processo de software na ES, processo que visa a produzir o software - de modo eficiente e previsível

Leia mais

Engenharia de Software

Engenharia de Software Tema da Aula Origens da Modelagem de Retrospectiva Histórica Prof. Cristiano R R Portella portella@widesoft.com.br Origens da Modelagem de A pré-história Antes de 1960: Nenhuma metodologia. Programar computador

Leia mais

Engenharia da Programação

Engenharia da Programação Engenharia da Programação LEIC 4º ano, 1º Semestre, ano lectivo de 2002-03 2º Exame (o exame é composto por 10 perguntas (1-10) cotadas com 1 valor cada) Data: 8 de Fevereiro de 2003 Duração Exame: 1h30

Leia mais

Fábio Amado João Maio 33306

Fábio Amado João Maio 33306 Fábio Amado 33637 João Maio 33306 Universidade de Aveiro Especificação, Modelação e Projecto de Sistemas Embutidos 21-11-2009 1. UML - o que é? 2. A Natureza dos Sistemas Embutidos 1. Heterogeneidade 2.

Leia mais

UML e seus diagramas

UML e seus diagramas UML e seus diagramas A UML Unified Modeling Language (Linguagem de Modelagem Unificada), como o próprio nome já diz, é uma linguagem para modelagem de objetos do mundo real, usada para especificar, construir,

Leia mais

Marcelo Henrique dos Santos

Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Negócios em Mídias Digitais (em andamento) MBA em Marketing e Vendas Especialista em games Bacharel em Sistema de Informação marcelosantos@outlook.com AULA 01

Leia mais

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software ENGENHARIA DE SOFTWARE Aula 03 Processos de Software AGENDA Modelos de processo de software Atividades do processo Lidando com mudanças Rational Unified Process (RUP) 14/03/2017 IFPR QUEDAS DO IGUAÇU -

Leia mais

Visão Geral do RUP.

Visão Geral do RUP. Visão Geral do RUP hermano@cin.ufpe.br Objetivos Apresentar as características RUP Discutir os conceitos da metodologia: fases, fluxos de atividades (workflows), iterações, responsáveis, atividades e artefatos

Leia mais

MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)

MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) g BREVE HISTÓRICO g CARACTERÍSTICAS g CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS g MODELAGEM DE ANÁLISE E DE PROJETO 1 I. BREVE HISTÓRICO Em fins dos anos

Leia mais

Introdução a UML (Unified Modeling Language)

Introdução a UML (Unified Modeling Language) Introdução a UML (Unified Modeling Language) O que é a UML? Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário

Leia mais

Engenharia de Software I: Introdução. Graduação em Informática 2009 Profa. Itana Gimenes

Engenharia de Software I: Introdução. Graduação em Informática 2009 Profa. Itana Gimenes Engenharia de Software I: Introdução Graduação em Informática 2009 Profa. Itana Gimenes Programa 1. O processo de engenharia de software 2. Engenharia de requisitos 3. Modelagem de sistemas 4. Conceitos

Leia mais

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

Leia mais

Engenharia de Requisitos 1 - Introdução

Engenharia de Requisitos 1 - Introdução Engenharia de Requisitos 1 - Introdução Pedro Campos Professor Auxiliar, Universidade da Madeira http://dme.uma.pt/pcampos - pcampos@uma.pt 1 Agenda Apresentação Equipa docente Definição de ER Bibliografia

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 4 http://www.ic.uff.br/~bianca/engsoft2/ Aula 4-03/05/2006 1 Modelos Prescritivos de Processo Modelo em cascata Modelos incrementais Modelo incremental Modelo RAD Modelos

Leia mais

Processos de software

Processos de software Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de

Leia mais

Mo#vação. Objec#vo. Estudar uma abordagem de desenvolvimento de so9ware orientada pelos objectos. Linguagens usadas: UML (Unified Modeling Language)

Mo#vação. Objec#vo. Estudar uma abordagem de desenvolvimento de so9ware orientada pelos objectos. Linguagens usadas: UML (Unified Modeling Language) Mo#vação Esta disciplina mostra como construir um bom alicerce para desenvolver so9ware orientado pelos objectos Ensina técnicas de análise e desenho para ajudar a produzir so9ware orientado pelos objectos

Leia mais

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

! Introdução.  Motivação para Processos de Software. ! Processo Unificado (USDP)  Definições  RUP x USDP  Características do Processo Unificado Agenda Rodrigo Reis Cleidson de Souza! Introdução " Motivação para Processos de Software! (USDP) " Definições " RUP x USDP " Características do! Descrição detalhada do! Processos Derivados! Templates simplificados!

Leia mais

Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil

Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil Análise de Sistemas Prof. Filipe Arantes Fernandes filipe.arantes@ifsudestemg.edu.br 2 Vale a pena ver de novo Modelo de Processo:

Leia mais

Diagramas de Classe. Sumário. Introdução aos Diagramas de Classe

Diagramas de Classe. Sumário. Introdução aos Diagramas de Classe 38 Diagramas de Classe Sumário Introdução aos Diagramas de Classe Notação base Classes Níveis de modelação Relações entre as classes Decorações Extensões 39 Génese Use Cases Permitem modelar a captura

Leia mais

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata Processo de Desenvolvimento Também chamado de ciclo de vida do software Reflete os passos necessários para se construir um produto de software Existem vários modelos de ciclo de vida Cascata (1956) Iterativo

Leia mais

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS Tereza Gonçalves Kirner Apresentação elaborada com base em: Hoffer, Jeffrey A., George, Joey F. Modern Systems Analysis and Design (Capítulo 1), Pearson,

Leia mais

Reuso de Software Aula Maio 2012

Reuso de Software Aula Maio 2012 Reuso de Software Aula 19 Tópicos da Aula Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Componentes Modelos de Componentes

Leia mais

RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp

RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp web@cercomp.ufg.br 1. Introdução É um processo proprietário de Engenharia de software criado pela Rational Software Corporation,

Leia mais

RUP Unified Process. Profª Jocelma Rios

RUP Unified Process. Profª Jocelma Rios RUP Unified Process Profª Jocelma Rios Nov/2012 O que pretendemos: Reforçar os aspectos que caracterizam o processo iterativo e incremental Identificar como atingir os objetivos dos projetos de software

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE CURSO TÉCNICO DE INFORMÁTICA Módulo A ENGENHARIA DE SOFTWARE Processos de Software O PROCESSO É LENTO... Todo software deve ser construído de forma organizada, através de processos. Um processo pode ser

Leia mais

Visão Geral do RUP (Rational Unified Process)

Visão Geral do RUP (Rational Unified Process) Visão Geral do RUP (Rational Unified Process) Objetivos deste módulo Apresentar as características do RUP Discutir os conceitos que existem no RUP: fases, fluxos de atividades (worklows), iterações, responsáveis,

Leia mais

2. Processos em Engenharia de Software

2. Processos em Engenharia de Software Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br Engenharia de Software 2. Processos em Engenharia de Software.......... 2.1. Visão Geral Conceito de processo conjunto

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Programação Orientada a Objetos 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: -cada vez mais próximas da percepção humana - e que

Leia mais

Análise de Sistemas de Informação e Use Cases

Análise de Sistemas de Informação e Use Cases Gestão de Sistemas Informáticos Análise de Sistemas de Informação Elsa Cardoso Outubro 2001 Análise de SI / Use Cases - 2 Modelo É uma abstracção de algo, que tem por objectivo a compreensão dessa entidade

Leia mais

Análise e Projeto Orientados a Objetos

Análise e Projeto Orientados a Objetos Análise e Projeto Orientados a Objetos Introdução Diretoria Acadêmica de Gestão e Tecnologia da Informação Introdução Os sistemas computacionais adquiriram extrema importância para as organizações públicas

Leia mais

Paradigmas de Software

Paradigmas de Software Paradigmas de Software Objetivos Introdução aos paradigmas de software. Descrição de modelos genéricos e sua aplicabilidade. Descrição dos processos de requisitos, desenvolvimento, teste e evolução. Modelo

Leia mais

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

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome: Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS Nome: 1. A figura abaixo representa, simplificadamente, as fases do Modelo de Ciclo de Vida Cascata.

Leia mais

UML Linguagem Unificada de Modelagem (Visão Geral)

UML Linguagem Unificada de Modelagem (Visão Geral) CBSI Curso de Bacharelado em Sistemas de Informação UML Linguagem Unificada de Modelagem (Visão Geral) Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br www.ufpa.br/srbo Análise e Projeto de Sistemas

Leia mais

Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU)

Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU) Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU) Prof. Seiji Isotani (sisotani@icmc.usp.br) Modelos de Processo de

Leia mais

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Modelos de Processo de Software Desenvolver software é geralmente uma tarefa complexa e sujeita

Leia mais

Prof. Esp. Fabiano Taguchi

Prof. Esp. Fabiano Taguchi UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com UML COMPETÊNCIA: Conhecer e desenvolver estudos de caso usando modelagem orientada a objeto. HABILIDADE: Conhecer

Leia mais

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Antes de qualquer

Leia mais

Qualidade. Ana Madureira

Qualidade. Ana Madureira Qualidade Ana Madureira Qualidade da Informação A qualidade de uma informação é apreciada em função da sua pertinência (adaptação às necessidades do sistema de gestão). Três características permitem medir

Leia mais

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro MODELAGEM DE SISTEMAS Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Modelagem de Sistemas: A modelagem de um sistema auxilia o analista a entender a funcionalidade

Leia mais

Programação por Objectos Introdução. Introdução 1/18

Programação por Objectos Introdução. Introdução 1/18 Programação por Objectos Introdução LEEC@IST Introdução 1/18 História (1) [60s] Simula-67, Dahl e Nygaard da Univ. de Oslo Primeira linguagem com conceitos OO. [70s] Smalltalk, da Xerox Primeira implementação

Leia mais

Aula 3.1 Introdução e Visão Geral do Processo Unificado

Aula 3.1 Introdução e Visão Geral do Processo Unificado PDS Aula 3.1 Introdução e Visão Geral do Processo Unificado Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Definição O Processo Unificado (Unified Process, UP) é um tipo de processo de desenvolvimento de

Leia mais

INTRODUÇÃO À ENGENHARIA DE SOFTWARE. Prof.: Tiago Alves

INTRODUÇÃO À ENGENHARIA DE SOFTWARE. Prof.: Tiago Alves INTRODUÇÃO À ENGENHARIA DE SOFTWARE Prof.: Tiago Alves (tiagofga@gmail.com) UML UNIFIED MODELING LANGUAGE Livro: Utilizando UML e Padrões, 3.ed. Autor(es): Craig Larman Modelagem de Sistemas Orientados

Leia mais

Engenharia Software. Ení Berbert Camilo Contaiffer

Engenharia Software. Ení Berbert Camilo Contaiffer Engenharia Software Ení Berbert Camilo Contaiffer Características do Software Software não é um elemento físico, é um elemento lógico; Software é desenvolvido ou projetado por engenharia, não manufaturado

Leia mais

PUC-GO- ADS: Prof. Vicente P. de Camargo. Desenvolvimento de Aplicações para Cliente Servidor

PUC-GO- ADS: Prof. Vicente P. de Camargo. Desenvolvimento de Aplicações para Cliente Servidor PUC-GO- ADS: Prof. Vicente P. de Camargo INTRODUÇÃO Seja bem vindo ao módulo de EAD da disciplina DACC(Desenvolvimento de Aplicações Para Cliente Servidor). A Modelagem com UML foi o assunto estabelecido

Leia mais

Requisitos de Software e UML Básico. Janaína Horácio

Requisitos de Software e UML Básico. Janaína Horácio Requisitos de Software e UML Básico Janaína Horácio janaina@les.inf.puc-rio.br Agenda Requisitos O que é? Objetivos? Atividades?... UML O que é? Modelos... Casos de Uso O que é? Componentes 2 Requisitos

Leia mais

Modelos em Sistemas de Informação. Aula 2

Modelos em Sistemas de Informação. Aula 2 Modelos em Sistemas de Informação Aula 2 Referências básicas da aula Paulo Cougo - Modelagem conceitual e Projeto de Banco de Dados. Craig Larman - Utilizando UML e padrões. Roger Pressman - Engenharia

Leia mais

S.I. nas Organizações

S.I. nas Organizações S.I. nas Organizações A inserção de SI nas organizações obriga a definir: as actividades da organização contempladas pelo sistema. o grupo de pessoas envolvidas. Deste modo e por ordem crescente de envolvimento

Leia mais

6.CONCLUSÕES CONCLUSÕES

6.CONCLUSÕES CONCLUSÕES 6.CONCLUSÕES 193 6 CONCLUSÕES Este trabalho apresentou uma proposta para modelagem e análise de Sistemas de Controle envolvidos na geração de energia elétrica hidráulica, tendo como base dois desenvolvimentos:

Leia mais

Tecnologia de Objectos

Tecnologia de Objectos Tecnologia de Objectos Ademar Aguiar www.fe.up.pt/~aaguiar ademar.aguiar@fe.up.pt 1 Tecnologia de Objectos O que é orientação por objectos? Que tipo de produtos existem? O que é software de qualidade?

Leia mais

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Prof. André Luiz Ribeiro Prof. Jorge Luis Pirolla Introdução à Computação Engenharia de Software Tópicos O que é Engenharia de Software? Engenharia de Software em camadas Processo

Leia mais

Análise. Orientada a Objetos Modelo Funcional, Modelo Estrutural e Modelo Comportamental. Linguagens: Java, C++, etc.

Análise. Orientada a Objetos Modelo Funcional, Modelo Estrutural e Modelo Comportamental. Linguagens: Java, C++, etc. Análise Estruturada Modelo Essencial ou Lógico constitui-se de dois sub-modelos (Modelo Ambiental e Modelo Comportamental) e um Dicionário de Dados. Linguagens: Fortran, Cobol, C, etc. Orientada a Objetos

Leia mais

Processo Unificado. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Processo Unificado. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Processo Unificado Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Medeiros, E. Desenvolvendo Software com UML 2.0: Definitivo, Makron Books,

Leia mais