Unidade II MODELAGEM DE PROCESSOS



Documentos relacionados
1. Modelagem de Sistemas 1.1. Os Desenvolvedores de Sistemas podem Escolher entre Quatro Caminhos

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

2 Engenharia de Software

Modelagem de Processos. Prof.: Fernando Ascani

Unidade I Conceitos BásicosB. Conceitos BásicosB

Planejamento, Desenvolvimento e Implementac a o de Sistemas

Gestão do Risco e da Qualidade no Desenvolvimento de Software

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

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

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Gerenciamento de Projetos Modulo II Clico de Vida e Organização

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Desenvolvimento estruturado versus orientado a objetos.

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

O Ciclo de Vida do Desenvolvimento de Sistemas i

Administração de Pessoas

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

UML - Unified Modeling Language

Orientação a Objetos I

MODELAGEM DE SISTEMAS DE INFORMAÇÃO

GBD PROF. ANDREZA S. AREÃO

Guia de utilização da notação BPMN

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

3. Fase de Planejamento dos Ciclos de Construção do Software

3 Qualidade de Software

Questionário de Avaliação de Maturidade Setorial: Modelo PRADO-MMGP

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização

Gerenciamento de Requisitos Gerenciamento de Requisitos

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

3.1 Definições Uma classe é a descrição de um tipo de objeto.

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

Ouvir o cliente e reconhecer o problema: ingredientes essenciais à gestão de projetos

Processo de Desenvolvimento de Software

SISTEMAS DE INFORMAÇÃO GERENCIAIS

EMENTAS DAS DISCIPLINAS

Análise e Projeto de Software

Análise e Projeto de Sistemas. O que é modelagem. O que é modelagem. Tripé de apoio ao desenvolvimento. Notação: UML. Ferramenta: Rational Rose.


Engenharia de Software II

Engenharia de Software II

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

ENGENHARIA DE SOFTWARE I

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

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

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Introdução. Toda organização executa basicamente dois tipos de atividade: Projeto; e. Operação (execução).

Desenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre

Especificação Operacional.

REQUISITOS DE SISTEMAS

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

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

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Disciplina: GESTÃO DE PROCESSOS E QUALIDADE Prof. Afonso Celso M. Madeira

Tópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software.

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

Programação Orientada a Objetos. Introdução à Análise Orientada a Objetos (AOO)

Wilson Moraes Góes. Novatec

PLANEJAMENTO ESTRATÉGICO

Curso Superior de Tecnologia em Banco de Dados e Sistemas para Internet Disciplina: Projeto Integrador III Prof.: Fernando Hadad Zaidan

Capítulo 2 Objetivos e benefícios de um Sistema de Informação

Engenharia de Software Aula 8 (Versão )

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

Paradigmas de Engenharia de Software

NORMA TÉCNICA E PROCEDIMENTOS GERAIS PARA ADMINISTRAÇÃO DO BANCO DE DADOS CORPORATIVO

CAPABILITY MATURITY MODEL FOR SOFTWARE. Eduardo Mayer Fagundes

Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos

Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados

17/02/2015 PROJETO DE PRODUTOS E SERVIÇOS

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

Observações. Referência Título / Campo de Aplicação Emissor Data de adoção

c. Técnica de Estrutura de Controle Teste do Caminho Básico

Projeto de Desenvolvimento de Software. Apresentação (Ementa) e Introdução

Copyright Proibida Reprodução. Prof. Éder Clementino dos Santos

Engenharia de Software

Programação Orientada a Objeto

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini

Classificação de Sistemas: Sistemas Empresariais

Eduardo Bezerra. Editora Campus/Elsevier. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição

Modelagem de Sistemas

Atividades da Engenharia de Software ATIVIDADES DE APOIO. Atividades da Engenharia de Software. Atividades da Engenharia de Software

Este artigo abaixo foi produzido originalmente para a Network Core Wiki. Reproduzo-a aqui na íntegra. Publicado originalmente em 07/12/2007.

Projeto em Planejamento Urbano e Regional III Prof. Edvaldo Gonçalves de Amorim

O Processo Unificado

Administração de Sistemas de Informação Gerenciais

Curso de Especialização em Tecnologia da Informação. Engenharia de Software

Figura 5 - Workflow para a Fase de Projeto

Engenharia de Software II

Observações. Referência Título / Campo de Aplicação Emissor Data de adoção

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

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Resolução da lista de exercícios de casos de uso

Hélio Engholm Jr. Novatec

NORMA TÉCNICA PARA IMPLANTAÇÃO DE NOVOS SISTEMAS OU APLICAÇÕES NO BANCO DE DADOS CORPORATIVO

Módulo 9 A Avaliação de Desempenho faz parte do subsistema de aplicação de recursos humanos.

UML: Diagrama de Casos de Uso, Diagrama de Classes

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

Diretrizes de Qualidade de Projetos

7 perguntas para fazer a qualquer fornecedor de automação de força de vendas

Transcrição:

Unidade II 3 MODELAGEM DE SISTEMAS 1 20 A fase de desenvolvimento de um novo sistema de informação (Quadro 2) é um momento complexo que exige um significativo esforço no sentido de agregar recursos que venham a apoiar a geração do código, a validação e a implantação do que é o objetivo do evento de uma forma clara, eficiente e no tempo planejado. Os profissionais ligados ao desenvolvimento de sistemas usam dados, processos e modelos de objeto para compreender os sistemas existentes e projetar os novos. Esses modelos tornaram-se um padrão no mercado porque fornecem uma linguagem que os analistas, os projetistas e os desenvolvedores podem usar para comunicar-se eficientemente. Dessa forma, os gerentes de projetos se beneficiam da compreensão desses modelos, de modo que possam melhor comunicar suas necessidades. Atualmente, existem softwares que geram programas de computador diretamente dos modelos de sistema. São as chamadas ferramentas CASE (Computer-Aided Software Engineering, ou Engenharia de Software Assistida por Computador), que podem acelerar, de maneira significativa, o desenvolvimento de sistemas. Essas ferramentas podem auxiliar os desenvolvedores a compreender e a manter estes programas. 9

Unidade II 3.1 Os desenvolvedores de sistemas podem escolher entre quatro caminhos Modelo Descrição Usos Vantagens Desvantagens Segue ordenadamente os Projetos de grande porte Sem retrabalho. Altamente inflexível. estágios do ciclo de vida e complexos, com muitas Cascata do desenvolvimento de pessoas e áreas envolvidas sistemas. Fácil de administrar. Não há entregas provisórias. Espiral Entrega o sistema em versões conforme a regra 80/20, de acordo com a necessidade. Organizações dinâmicas que podem tolerar ambiguidades e necessitam obter resultados com rapidez. Rápida entrega do produto. Progresso fácil de ver Retrabalhos constantes Custos elevados. Concentra-se na interface do usuário numa interação cíclica dos estágios de projeto e desenvolvimento. Projetos de porte pequeno a médio, em que os requisitos são vagos ou obscuros. Curto período entre análise e implementação. O sistema satisfaz melhor as necessidades. Aumenta as expectativas do usuário. Não garante redução de custos. Prototipagem Evita custos desnecessários. Atrasa a funcionalidade do sistema. Ampliada comunicação e interação entre usuários e desenvolvedores. Programação ágil Avalia necessidades e desenvolve especificações durante o desenvolvimento. Pequenos projetos conduzidos por desenvolvedores experientes e competentes e usuários que desejam tomar parte no processo de desenvolvimento. Rápida entrega do produto Pronto atendimento às necessidades do usuário Mais difícil de aplicar conceitos de qualidade, tais como medição de desempenho e melhoria de processos. Pode decair acentuadamente com desenvolvedores fracos. Quadro 2 - Estilos de desenvolvimento de sistemas. Fonte: Gordon e Gordon, 2006.

3.2 Modelos de dados Os modelos de dados são responsáveis por descrever os relacionamentos existentes entre os elementos de dados que uma organização utiliza. O modelo conhecido como entidaderelacionamento ou diagrama ER é um dos modelos de dados mais usados (Figura 6). Contudo, existem também outros modelos. O ANSI (American National Standards Institute) suporta um padrão diferente, o modelo de dados conhecido por IDEF1X. Este modelo assemelha-se ao modelo entidade-relacionamento. Uma vantagem deste modelo está em se converter mais diretamente para uma implementação de banco de dados relacional. Os produto, tais como o Visible Analyst, da Visible Systems, e o System Architect, da Popkin Software, suportam ambos os modelos, bem como diversos outros. região nome-representante fone-representante representante-vendas 1 representa dados-representante 1 ID endereço M clientes contato fone-cliente nome-cliente Figura 6 - Diagrama ER: mostra o relacionamento entre representantes de vendas e seus clientes. Fonte: Gordon e Gordon, 2006. 3.3 Modelos de processos Os modelos de processos dividem um processo em etapas, identificam como estas etapas se relacionam entre si e indicam quais saídas de um processo são entradas para outros. Os modelos de processos mais utilizados incluem diagramas de 11

Unidade II estrutura, quadros de funções e diagramas de fluxo de dados (DFDs). Os diagramas de estrutura demonstram o relacionamento entre os programas e subprogramas que compreenderão o sistema acabado. Na Figura 7, o diagrama de estrutura para um sistema de folha de evidencia o projeto modular do sistema, no qual a execução de uma determinada tarefa, como o cálculo do líquido, requer a terminação das tarefas abaixo, que compreendem o cálculo de impostos e cálculo de deduções. Ler entrada Processo da folha de 1.0 Gerar saída Ler registro mestre de empregado 2.0 3.0 4.0 Ler cartão de ponto Gerar relatório de 2.1 2.2 4.1 4.2 Gerar cheques de bruto 3.1 líquido 3.2 normal horas extras impostos 3.1.1 3.1.2 3.2.1 3.2.2 Figura 7 - Diagrama de estrutura de um sistema de folha de. Divide os processos de folha de em três subprocessos.os subprocessos sofrem novas divisões. Fonte: Gordon e Gordon, 2006. O quadro de funções, ilustrado na Figura 8, implementa o modelo IDEF0 do ANSI, no qual cada quadro de função corresponde a uma caixa num diagrama de estrutura. As deduções 12

linhas entre as caixas mostram os relacionamentos entre as entradas e saídas dos procedimentos. Os documentos que suportam a metodologia IDEF0 mostram um único quadro de função juntamente com a divisão dessa caixa em suas subtarefas em cada página. Controles Entradas Função de manutenção Saídas Mecanismos Figura 8 - O quadro de funções IDEF0 mostra como um processo se conecta com outros processos. Fonte: Gordon e Gordon, 2006. 1 Os diagramas de fluxo de dados (DFDs) - Figura 9 - são responsáveis por modelar o fluxo dos dados entre processos. Mas, eles não modelam a decomposição dos processos em subprocessos ou a ordem em que as tarefas são executadas para realizar um processo. Por exemplo, um arquivo de empregados mantém dados armazenados sobre a classe de do empregado, o nível de e as deduções. Dessa forma, os processos para determinar o bruto e calcular o líquido usam esses dados armazenados. 13

Unidade II Limite do sistema Empregados Catrão de ponto Calcula bruto Pagamento bruto Calcula deduções extras de impostos Classe de incidência Nível de Arquivo de empregado Pagamento de deduções Cheque de Cria contracheque Condição de imposto Calcula impostos Pagamento líquido Pagamento líquido Saldo da tesouraria Registro histórico de s Tabelas de impostos Figura 9 - Diagrama de fluxo de dados de um sistema de folha de. São mostradas as entradas e saídas de cada procedimento e as fontes e o uso de dados que estão fora do limite do sistema. Fonte: Gordon e Gordon, 2006. 3.4 Modelos de objeto Os modelos de objeto identificam as propriedades dos objetos, seus relacionamentos entre si e as funções que executam. Os modelos de objeto incluem, frequentemente, os diagramas de herança, que mostram como os objetos herdam suas propriedades de outros objetos. Os modelos de objeto podem também incluir diagramas de estado para mostrar como as características de objeto mudam à medida que os eventos externos afetam um objeto, e como o objeto responde diferentemente às mensagens, dependendo do seu estado. 14

1 20 Os objetos incorporam tanto os dados quanto as operações que podem ser executadas sobre os dados. Os relacionamentos entre objetos, dados e processos motivaram o desenvolvimento de modelos que incorporam todos os três elementos. Entre os recursos mais populares para se gerar modelos que estabeleçam os relacionamentos desejados está o UML. Porém, deve-se refletir a respeito sobre o que é realmente desenvolver sistemas orientados a objetos. Ao se observar a forma como a análise e o projeto de sistemas vem sendo realizada em muitos lugares, pode-se verificar que muitos profissionais simplesmente adotam uma linguagem orientada a objetos ou até algum fragmento de processo orientado a objetos, sem muita consciência do que estão fazendo. Portanto, de nada adianta realizar investimentos pesados na aquisição de ferramentas CASE orientadas a objetos sem a devida compreensão da forma de se pensar orientada a objetos. Dessa forma, conclui-se que o uso de diagramas pode não melhorar a qualidade do software produzido. Para um profissional chegar a ser um arquiteto de software, existe uma série de conhecimentos que precisam ser compreendidos. 2 30 4 UML Muitos profissionais acreditam que UML é uma metodologia, mas na verdade é uma linguagem. UML significa Unified Modeling Language (linguagem de modelagem unificada) e é usada para descrever eventos. Contudo, conhecer uma linguagem não implica em habilidade para saber utilizá-la com efeito. Tome-se por base a língua portuguesa ou a inglesa, nas quais saber escrever não necessariamente implica em saber falar bem, ou descrever eventos com precisão para que qualquer leitor possa compreender. Nesse caso, existem métodos ou processos que auxiliam, por exemplo, os escritores na definição de eventos com clareza. Esses métodos e processos ajudam a estruturar adequadamente as frases para que estas produzam o efeito desejado. 1

Unidade II Dessa forma, ao se usar a linguagem UML, pretende-se produzir projetos de sistemas com elegância, claros e bem estruturados, nos quais os leitores terão uma fácil assimilação do que se pretende descrever. 4.1 Para que é utilizado a UML? 1 A UML é uma das mais linguagens mais utilizadas no mundo para especificar modelos de sistemas. Foi desenvolvido pelo OMG (Object Management Group), e destina-se a modelar aplicações, comportamentos, arquitetura e também processos de negócios e estruturas de dados. Além disso, promove a unificação de vários passos do desenvolvimento e da integração de modelos de negócios por meio da modelagem de arquitetura e aplicação para o desenvolvimento, implantação, manutenção e evolução. O OMG é formado por um consórcio da indústria da computação, sem fins lucrativos, que desenvolve uma força tarefa para definir padrões de integração para as corporações para um amplo escopo de tecnologias. Segundo a OMG, a UML é uma linguagem visual para especificação, construção e documentação de artefatos de software: 20 a criação de esquemas UML, cujo o propósito da modelagem é, principalmente, para entender e documentar; 2 a UML sozinha não resolve nada: ela deve ser usada dentro de um processo de desenvolvimento! A UML define uma linguagem padrão e uma notação gráfica para a criação de modelos de negócios e sistemas técnicos. Ao contrário da opinião popular, a UML não é apenas para programadores. De fato, a UML define diversos tipos de modelos que abrangem uma grande escala de modelos e requisitos funcionais de fluxo de trabalho para projetos de estrutura de 16

classe e diagramas de componentes. Este livro descreve como esses modelos são aplicados para especificar o uso da XML no contexto de um sistema de e-business. Esses modelos, e um processo de desenvolvimento que os utiliza, melhoram e simplificam a comunicação entre interessados de aplicações muito diversas. 1 A UML tem progredido a passos largos para atingir seu objetivo de possuir um padrão unificado e está se tornando a linguagem preferida para a descrição de sistemas de negócios. O fato de a UML ter sido aceita na prática, e não apenas como um padrão teórico formal, contribuiu para um rápido desenvolvimento e para uma competição saudável entre as ferramentas de modelagem UML. Os produtos compatíveis com UML abrangem desde conjuntos de engenharia de software completos até ferramentas de análise de requisitos orientadas a negócios relativamente baratas. 17