Texto de pré-visualização
Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 1 ENGENHARIA DE SOFTWARE CAPÍTULO 4 PROCESSO DE MODELAGEM DO NEGÓCIO E DO SISTEMA r01 Sumário 41 Modelagem do processo de negócio Business Process Modeling BPM 411 Convertendo processos organizacionais pelo sistema 412 Diagrama de Atividades UML 42 Reengenharia do processo de negócio Business Process Redesign BPR 421 Diagrama de casos de uso UML 422 Identificando um caso de uso 423 Modelagem de casos de uso 43 Modularidade 44 Engenharia de projeto 45 Componentização 451 Diagrama de componentes 452 Engenharia de domínio Reusabilidade do software 46 Diagrama de implantação 41 MODELAGEM DO PROCESSO DE NEGÓCIO BUSINESS PROCESS MODELING BPM O sucesso de uma organização está condicionado à eficácia com que os seus processos de negócios são criados e executados Um sistema informatizado que da suporte a uma organização deve portanto estar alinhado aos processos de negócio O processo de negócio é uma atividade ou um conjunto de atividades realizada em uma empresa para criar ou adicionar alguma espécie de valor para seus clientes O processo de negócio segue uma estrutura hierárquica bem definida que mostra seu ponto de entrada input e saída output Uma empresa pode ter vários processos que variam de acordo com o tipo tamanho e complexidade do negócio Os principais processos se localizam no topo e cada um desses é formado por outros subprocessos que por sua vez vão sendo subdivididos até atingirem o nível de atividades 411 Convertendo processos organizacionais em funções do sistema A organização de uma empresa é formada por processos organizacionais O processo é formado por um conjunto de atividades que por sua vez cada atividade é formada por um conjunto de tarefas PROCESSO Input entradas Output saídas Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 2 O cliente é aquele da organização que necessita do negócio que pode ser externo interno ou represente uma área funcional da empresa que necessita ou objetiva uma solução para um problema Os processos e as atividades organizacionais são convertidas em funções do sistema de informação por intermédio da tecnologia da informação daí dáse o nome de Sistemas de Informação Gerencial SIG Management Information Systems MIS Um conjunto de funções com tecnologia e características similares destinados a um determinado processo é chamado de funcionalidade As funcionalidades embutidas no sistema de informação permitem que o usuário do sistema de informação possa gerenciar e executar as diversas atividades de um determinado processo A Modelagem de Processos de Negócio MPN Business Process Modeling BPM permite visualizar o processo de negócio por meio de diagramas que ajudam a um melhor entendimento de como o processo funciona Um fluxograma ou Diagrama de Atividades por exemplo pode servir para visualizar o processo de negócio Veja a figura abaixo Diagrama de Atividades para modelagem do negócio Gestão de Estoque no recebimento de material CASO PROCESSO DO ALMOXARIFADO As atividades do processo do almoxarifado são basicamente contato com fornecedores compra de materiais controle do estoque armazenamento requisições e expedição do material Estas atividades compõe as futuras funções do software Um Sistema de Informação Gerencial SIG para Almoxarifado seria o nome do sistema As atividades acima iriam compor os requisitos funcionais e mais algumas outras de suporte que seriam os requisitos nãofuncionais tais como tirar backup imprimir documento Ajuda e outros As atividades refletidas no SIG seriam chamadas de funcionalidades A funcionalidade Contato com fornecedores por exemplo abrangeria as seguintes funções Cadastro do fornecedor Produtos e Materiais Seleção de fornecedores e Pedido de aprovação de compra que são as tarefas necessárias para selecionar o fornecedor Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 3 O BPM Business Process Modeling é uma notação gráfica que descreve a lógica dos passos de um processo de negócio É um padrão internacional de modelador que permite modelar o processo de uma maneira unificada e padronizada adotado em 2005 pela OMG Object Management Group o mesmo grupo que em 1997 adotou a UML Unified Modeling Language como a linguagem padrão de modelagem Seu objetivo é dar suporte ao gerenciamento fornecendo uma notação intuitiva capaz de representar semânticas de processos complexos 412 DIAGRAMA DE ATIVIDADES UML O Diagrama de Atividade preocupase em descrever os passos a serem percorridos para a conclusão de uma atividade específica muitas vezes representada por um método com certo grau de complexidade e não de um processo completo como é o caso dos Diagramas de Sequência ou Colaboração embora também possa ser utilizado para tal fim O Diagrama de Atividade concentrase na representação do fluxo de controle de uma atividade Função dos elementos de um Diagrama de Atividades Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 4 42 REENGENHARIA DO PROCESSO DE NEGÓCIO BUSINESS PROCESS REDESIGN BPR A Reengenharia dos Processos de Negócio consiste no alinhamento do Planejamento Estratégico de Negócios PEN ou Planejamento Estratégico Empresarial PEE com o Planejamento Estratégico de TI PETI A integração dos negócios com a tecnologia da informação deve ser acompanhada por uma infraestrutura informacional e tecnológica que de suporte a comunicação da informação e do conhecimento Veja a figura abaixo Integração Funcional dos Negócios com a Tecnologia da Informação Empresa é um conjunto de áreas de conhecimentos com objetivo de fazer negócio A Administração fornece a Estratégia de Negócio Os administradores percebem os desafios e necessidades do mercado estabelecem a estratégia organizacional com o uso dos recursos materiais humanos tecnológicos e financeiros com objetivos de operacionalizar a empresa para atender o desafio ou necessidade do mercado Organização são formadas pelos Processos Organizacionais O processo organizacional seleciona as atividades ou operações necessárias de uma determinada área de conhecimento bem como sua capacidade para atender a administração Por meio da organização são elaboradas as atividades e tarefas da empresa Infraestrutura da Tecnologia da Informação Estratégia de TI é o que o gerente utiliza para enfrentar as mudanças A Tecnologia da Informação fornece a infraestrutura tecnológica do Sistema de Informação para converter as atividades da empresa em funções do sistema de informação Sistema de Informação Gerencial é o resultado das regras de negócios automatizadas pela tecnologia da informação 421 DIAGRAMA DE CASOS DE USO UML No conceito os Casos de Uso são utilizados para identificar as regras do negócio e são excelentes diagramas para interpretar o ponto de vista do clienteusuário justamente pelo fato de modelar apenas o que é preciso ser executado dentro do objetivo do negócio Caso de Uso ALINHAMENTO ESTRATÉGICO Empresa Infraestrutura da TI SISTEMA DE INFORMAÇÃO GERENCIAL ALINHAMENTO TÁTICO E OPERACIONAL Organização NEGÓCIOS TECNOLOGIA DA INFORMAÇÃO Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 5 O Diagrama Caso de Uso é o diagrama mais geral e informal da UML utilizado normalmente nas fases de Levantamento e Análise de Requisitos do sistema embora venha a ser consultado durante todo o processo de modelagem e possa servir de base para outros diagramas Apresenta uma linguagem simples e de fácil compreensão para que os usuários possam ter uma idéia geral de como o sistema irá se comportar Procura identificar os atores usuários outros sistemas ou até mesmo algum hardware especial que utilizarão de alguma forma o software bem como os serviços ou seja as opções que o sistema disponibilizará aos atores conhecidas neste diagrama como Casos de Uso Um caso de uso é um conjunto de cenários ligados por um objetivo comum de um usuário O cenário é uma sequência de passos que descreve uma interação entre um usuário e um sistema Exemplo Análise do cenário Loja virtual Loja virtual Na loja virtual podemos descrever o cenário Compra de um Produto Cliente Navega pelo site e escolhe os produtos para o seu carrinho de compra Ao terminar as compras o cliente deseja pagar preenche um cadastro sem não existir com informações pessoais de identificação e crédito Informa o endereço destino de entrega das compra Paga a compra débito automático ou cartão de crédito e confirma a operação de compra Sistema de Processamento do Pedido Verifica a disponibilidade dos produtos datas de entrega e taxa de frete Verifica crédito do cliente Autoriza e confirma a venda Envia email para o cliente com as condições do negócio Fatura e autoriza a distribuidora a entregar os produtos 422 Identificando um Caso de Uso Um caso de uso não deve se preocupar com o como das funções mesmo que este como seja apenas conhecer o fluxo de entrada e saída de dados FOW00 Abordagens a serem feitas na identificação de um caso de uso FOW00 Descobrir um ator alguém que influencia ou é influenciado pelo sistema Verificar para esse ator ações das quais ele participaria Agrupar tais ações de forma que possuam um nome em comum 423 Modelagem de casos de uso Ator esta relacionado a um papel Os papéis descrevem o comportamento e responsabilidades de um indivíduo ou grupo de indivíduos onde cada papel é formado por um conjunto de atividades que o indivíduo desempenha Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 6 Exemplo Em um balcão de vendas teríamos pelo menos três papéis distintos participando da venda de um produto cliente vendedor e gerente de vendas Associações As associações representam os relacionamentos entre os atores que interagem com o sistema EspecializaçãoGeneralização Este relacionamento é uma forma de associação entre casos de uso com características semelhantes Inclusão e Extensão A inclusão é utilizada quando existe compartilhamento ou seja uma situação ou rotina comum em mais de um caso Os relacionamentos de inclusão ocorrem quando existe uma obrigatoriedade na ocorrência de um caso de uso ou seja a execução de um caso de uso A condiciona a execução de um caso de uso B A inclusão apresenta um estereótipo1 com o texto include E a extensão é utilizada para acrescentar um comportamento descrever cenários opcionais de um caso de uso que somente ocorrerão se uma determinada condição for satisfeita A extensão apresenta um estereótipo1 extend 1 O estereótipo indica um comportamento que se espera de um determinado componente representado entre os sinais Atores Associação entre um Ator e um Caso de Uso EspecializaçãoGeneralização Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 7 Exemplo Caso de uso de um sistema de controle bancário Diagrama de Casos de Uso 43 MODULARIDADE A arquitetura do software incorpora a modularidade isto é o software é dividido em componentes nomeados separadamente e endereçáveis frequentemente chamados de módulos que são integrados para satisfazer os requisitos do sistema Pressman 2002 Modularidade é um atributo individual do software que permite gerenciar apenas um programa ou software A Figura abaixo mostra vários módulos do ERP da SAP A modularidade de um bom software visa uma interpretação simples do projeto e permite uma boa manutenção Vale o bom senso O sistema ERP é um bom exemplo de aplicação da modularidade O ambiente operacional padrão do ERP se baseia em uma arquitetura servidorcliente A arquitetura servidorcliente é o módulo de implantação do hardware necessário para o ERP Com o desempenho necessário permite a implantação de vários módulos de software Favorece os negócios porque os módulos podem ser implantados de acordo com as necessidades do cliente Observe as duas próximas Figuras os produtos de software disponibilizados em módulos possíveis de serem configurados no mesmo ambiente operacional Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 8 Figura Módulos de um sistema ERP da empresa softsystemcom Fonte softsytemcom Disponível em httpswwwsoftsystemcombrsoftsystemlojasdetintajsp Consultado em set de 2019 Figura Módulos de um sistema ERP da empresa softsystemcom Fonte SGB Sistema de Gestão ERP Disponível em httpwwwsbgcombrsistemaerp gestaomicroempresa Consultado em set de 2019 Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 9 44 ENGENHARIA DE PROJETO Pressman 2007 O projeto é o que virtualmente todo engenheiro quer fazer É o lugar em que a criatividade acontece em que os requisitos do cliente as necessidades do negócio e as considerações técnicas se juntam na formulação de um produto ou sistema modelo de projeto fornece detalhes sobre as estruturas de dados arquitetura interfaces e componentes do software necessários para implementar o sistema O objetivo da engenharia de projeto é produzir um modelo que exiba firmeza comodidade e prazer Na elaboração do projeto o projetista precisa praticar a diversificação e depois a convergência De acordo com Belady Pressman apud Belady 1981 et al Diversificação é a aquisição de um repertório de alternativas a matériaprima do projeto componentes soluções de componentes e conhecimento Server SPARK Server Multicomputador Server PC SGBD MySQL SGBD MSIIsSQL SGBDOracle SOR UNIX SOR LINUX SOR WINDOWS Convergência o projetista escolhe os elementos do repertório que satisfaça os requisitos e os resume em uma particular configuração de componentes e posteriormente a criação do produto final Servidor de Dados SBC Server PC SOR LINUX SGBD MySQL Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 10 45 COMPONENTIZAÇÃO O componente é um bloco construtivo modular para o software A OMG Object Management Group define o componente como parte modular possível de ser implantada e substituível de um sistema que encapsula a implementação e exibe o conjunto de interfaces A necessidade da componentização A componentização é o processo de criação de ativos digitais com a finalidade de reutilização em projetos de software e sistemas A componentização é uma estratégia que agiliza a elaboração de arquiteturas e projetos de software e sistemas No desenvolvimento da arquitetura do software a componentização traz vários benefícios na elaboração da estrutura e projeto do software das quais se destacam Diversificação e seleção de alternativas de projeto Facilidade para dar suporte e manutenção Independência de ambiente tecnológico Melhor organização e controle do desenvolvimento Melhor visão de convergência tecnológica Otimização das funcionalidades permitindo a elaboração de novos produtos de software Planejamento e projeto escalar do sistema O termo componente será diferente dependendo do ponto de vista do engenheiro de software De acordo com os objetivos de análise os componentes podem ter as seguintes abordagens Uma visão Orientada a Objetos Software A visão convencional do Sistema Uma visão relacionada ao Processo 451 Diagrama de componentes O Diagrama de Componentes pode estar amplamente associado à linguagem de programação que será utilizada para desenvolver o sistema modelado Esse diagrama representa os componentes do sistema quando o mesmo for ser implementado em termos de módulos de códigofonte bibliotecas formulários arquivos de ajuda módulos executáveis etc e determina como tais componentes estarão estruturados e irão interagir para que o sistema funcione de maneira adequada O componente é uma unidade do software do sistema ou do processo que pode ser utilizada na construção de vários sistemas e que pode ser substituída por outra unidade que tenha a mesma funcionalidade O componente de software representa um conjunto de programas ou classes uma estrutura endereçável e independente que representa uma função específica Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 11 Exemplo Componentização da estrutura de um software 452 Engenharia de Domínio Reusabilidade do Software Objetiva identificar construir catalogar e disseminar um conjunto de componentes de software que tenham aplicabilidade para software existente e futuros dentro de um domínio de aplicação específico A engenharia de domínio quando bem elaborada permite que as peças componentes produzidas fiquem a disposição para serem usadas em outros projetos Um domínio de aplicação é como uma família de produtos aplicações com funcionalidade ou intenção de funcionalidade similar O objetivo é estabelecer um mecanismo em que engenheiros de software possam partilhar estes componentes usandoos em sistemas futuros Spool de Impressão Gerador de Relatórios Data Mining Layout App Tela 1 Mensagens BI Layout App Tela 2 Layout Pag Web 2 Layout Pag Web 1 Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 12 45 DIAGRAMA DE IMPLANTAÇÃO O Diagrama de Implantação pode ser considerado uma associação de diversos componentes que determinam as necessidades de hardware da estruturação dos serviços de dados e característica da rede de computadores do sistema que da apoio ao software Pelo diagrama de implantação se determinam as características físicas como servidores estações topologias e protocolos de comunicação ou seja todo o aparato físico sobre o qual o sistema deverá ser executado O Diagrama de Componentes e de Implantação pode ser associado representados separadamente ou em conjunto Exemplo 1 Diagrama de implantação Estrutura de acesso a caixa eletrônico Exemplo 2 Associação do diagrama de componentes com o diagrama de implantação Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 13 BIBLIOGRAFIA BEZ06 BEZERRA Eduardo Princípios de Análise e Projeto de Sistemas com UML São Paulo Elsevier Campus 2006 FOW00 FOWLER Martin UML essencial um breve guia para a linguagem padrão de modelagem de objetos 2a ed Porto Alegre Bookman 2000 GUE07 GUEDES Gilleanes T A UML 2 guia prático São Paulo Novatec Editora 2007 LAU07 LAUDON Kenneth C LAUDON Jane P Sistemas de Informação Gerencial Administrando a empresa digital 7a ed São Paulo Prentice Hall 2007 MAT02 MATOS Alexandre Veloso de UML Prático e Descomplicado São Paulo Érica 2002 NUN10 NUNES Mauro Fundamental de UML 2a ed Portugal Lisboa FCA Editora de Informática 2010 PRE11 PRESSMAN PhD Roger S Engenharia de Software 7ed Rio de Janeiro McGraw Hill 2011 PRE07 PRESSMAN PhD Roger S Engenharia de Software 6a ed Rio de Janeiro McGrawHill 2007 SIL01 SILVA Alberto M R da VIDEIRA Carlos A E UML Metodologias e Ferramentas CASE Portugal Edições Centro Atlântico 2001 SHA09 SHACH Stephen R Engenharia de software os paradigmas clássico orientado a objetos 7ª ed São Paulo McGrawHill2009 SOM05 SOMMERVILLE Ian Engenharia de software São Paulo Pearson Addison Wesley 2005
Texto de pré-visualização
Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 1 ENGENHARIA DE SOFTWARE CAPÍTULO 4 PROCESSO DE MODELAGEM DO NEGÓCIO E DO SISTEMA r01 Sumário 41 Modelagem do processo de negócio Business Process Modeling BPM 411 Convertendo processos organizacionais pelo sistema 412 Diagrama de Atividades UML 42 Reengenharia do processo de negócio Business Process Redesign BPR 421 Diagrama de casos de uso UML 422 Identificando um caso de uso 423 Modelagem de casos de uso 43 Modularidade 44 Engenharia de projeto 45 Componentização 451 Diagrama de componentes 452 Engenharia de domínio Reusabilidade do software 46 Diagrama de implantação 41 MODELAGEM DO PROCESSO DE NEGÓCIO BUSINESS PROCESS MODELING BPM O sucesso de uma organização está condicionado à eficácia com que os seus processos de negócios são criados e executados Um sistema informatizado que da suporte a uma organização deve portanto estar alinhado aos processos de negócio O processo de negócio é uma atividade ou um conjunto de atividades realizada em uma empresa para criar ou adicionar alguma espécie de valor para seus clientes O processo de negócio segue uma estrutura hierárquica bem definida que mostra seu ponto de entrada input e saída output Uma empresa pode ter vários processos que variam de acordo com o tipo tamanho e complexidade do negócio Os principais processos se localizam no topo e cada um desses é formado por outros subprocessos que por sua vez vão sendo subdivididos até atingirem o nível de atividades 411 Convertendo processos organizacionais em funções do sistema A organização de uma empresa é formada por processos organizacionais O processo é formado por um conjunto de atividades que por sua vez cada atividade é formada por um conjunto de tarefas PROCESSO Input entradas Output saídas Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 2 O cliente é aquele da organização que necessita do negócio que pode ser externo interno ou represente uma área funcional da empresa que necessita ou objetiva uma solução para um problema Os processos e as atividades organizacionais são convertidas em funções do sistema de informação por intermédio da tecnologia da informação daí dáse o nome de Sistemas de Informação Gerencial SIG Management Information Systems MIS Um conjunto de funções com tecnologia e características similares destinados a um determinado processo é chamado de funcionalidade As funcionalidades embutidas no sistema de informação permitem que o usuário do sistema de informação possa gerenciar e executar as diversas atividades de um determinado processo A Modelagem de Processos de Negócio MPN Business Process Modeling BPM permite visualizar o processo de negócio por meio de diagramas que ajudam a um melhor entendimento de como o processo funciona Um fluxograma ou Diagrama de Atividades por exemplo pode servir para visualizar o processo de negócio Veja a figura abaixo Diagrama de Atividades para modelagem do negócio Gestão de Estoque no recebimento de material CASO PROCESSO DO ALMOXARIFADO As atividades do processo do almoxarifado são basicamente contato com fornecedores compra de materiais controle do estoque armazenamento requisições e expedição do material Estas atividades compõe as futuras funções do software Um Sistema de Informação Gerencial SIG para Almoxarifado seria o nome do sistema As atividades acima iriam compor os requisitos funcionais e mais algumas outras de suporte que seriam os requisitos nãofuncionais tais como tirar backup imprimir documento Ajuda e outros As atividades refletidas no SIG seriam chamadas de funcionalidades A funcionalidade Contato com fornecedores por exemplo abrangeria as seguintes funções Cadastro do fornecedor Produtos e Materiais Seleção de fornecedores e Pedido de aprovação de compra que são as tarefas necessárias para selecionar o fornecedor Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 3 O BPM Business Process Modeling é uma notação gráfica que descreve a lógica dos passos de um processo de negócio É um padrão internacional de modelador que permite modelar o processo de uma maneira unificada e padronizada adotado em 2005 pela OMG Object Management Group o mesmo grupo que em 1997 adotou a UML Unified Modeling Language como a linguagem padrão de modelagem Seu objetivo é dar suporte ao gerenciamento fornecendo uma notação intuitiva capaz de representar semânticas de processos complexos 412 DIAGRAMA DE ATIVIDADES UML O Diagrama de Atividade preocupase em descrever os passos a serem percorridos para a conclusão de uma atividade específica muitas vezes representada por um método com certo grau de complexidade e não de um processo completo como é o caso dos Diagramas de Sequência ou Colaboração embora também possa ser utilizado para tal fim O Diagrama de Atividade concentrase na representação do fluxo de controle de uma atividade Função dos elementos de um Diagrama de Atividades Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 4 42 REENGENHARIA DO PROCESSO DE NEGÓCIO BUSINESS PROCESS REDESIGN BPR A Reengenharia dos Processos de Negócio consiste no alinhamento do Planejamento Estratégico de Negócios PEN ou Planejamento Estratégico Empresarial PEE com o Planejamento Estratégico de TI PETI A integração dos negócios com a tecnologia da informação deve ser acompanhada por uma infraestrutura informacional e tecnológica que de suporte a comunicação da informação e do conhecimento Veja a figura abaixo Integração Funcional dos Negócios com a Tecnologia da Informação Empresa é um conjunto de áreas de conhecimentos com objetivo de fazer negócio A Administração fornece a Estratégia de Negócio Os administradores percebem os desafios e necessidades do mercado estabelecem a estratégia organizacional com o uso dos recursos materiais humanos tecnológicos e financeiros com objetivos de operacionalizar a empresa para atender o desafio ou necessidade do mercado Organização são formadas pelos Processos Organizacionais O processo organizacional seleciona as atividades ou operações necessárias de uma determinada área de conhecimento bem como sua capacidade para atender a administração Por meio da organização são elaboradas as atividades e tarefas da empresa Infraestrutura da Tecnologia da Informação Estratégia de TI é o que o gerente utiliza para enfrentar as mudanças A Tecnologia da Informação fornece a infraestrutura tecnológica do Sistema de Informação para converter as atividades da empresa em funções do sistema de informação Sistema de Informação Gerencial é o resultado das regras de negócios automatizadas pela tecnologia da informação 421 DIAGRAMA DE CASOS DE USO UML No conceito os Casos de Uso são utilizados para identificar as regras do negócio e são excelentes diagramas para interpretar o ponto de vista do clienteusuário justamente pelo fato de modelar apenas o que é preciso ser executado dentro do objetivo do negócio Caso de Uso ALINHAMENTO ESTRATÉGICO Empresa Infraestrutura da TI SISTEMA DE INFORMAÇÃO GERENCIAL ALINHAMENTO TÁTICO E OPERACIONAL Organização NEGÓCIOS TECNOLOGIA DA INFORMAÇÃO Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 5 O Diagrama Caso de Uso é o diagrama mais geral e informal da UML utilizado normalmente nas fases de Levantamento e Análise de Requisitos do sistema embora venha a ser consultado durante todo o processo de modelagem e possa servir de base para outros diagramas Apresenta uma linguagem simples e de fácil compreensão para que os usuários possam ter uma idéia geral de como o sistema irá se comportar Procura identificar os atores usuários outros sistemas ou até mesmo algum hardware especial que utilizarão de alguma forma o software bem como os serviços ou seja as opções que o sistema disponibilizará aos atores conhecidas neste diagrama como Casos de Uso Um caso de uso é um conjunto de cenários ligados por um objetivo comum de um usuário O cenário é uma sequência de passos que descreve uma interação entre um usuário e um sistema Exemplo Análise do cenário Loja virtual Loja virtual Na loja virtual podemos descrever o cenário Compra de um Produto Cliente Navega pelo site e escolhe os produtos para o seu carrinho de compra Ao terminar as compras o cliente deseja pagar preenche um cadastro sem não existir com informações pessoais de identificação e crédito Informa o endereço destino de entrega das compra Paga a compra débito automático ou cartão de crédito e confirma a operação de compra Sistema de Processamento do Pedido Verifica a disponibilidade dos produtos datas de entrega e taxa de frete Verifica crédito do cliente Autoriza e confirma a venda Envia email para o cliente com as condições do negócio Fatura e autoriza a distribuidora a entregar os produtos 422 Identificando um Caso de Uso Um caso de uso não deve se preocupar com o como das funções mesmo que este como seja apenas conhecer o fluxo de entrada e saída de dados FOW00 Abordagens a serem feitas na identificação de um caso de uso FOW00 Descobrir um ator alguém que influencia ou é influenciado pelo sistema Verificar para esse ator ações das quais ele participaria Agrupar tais ações de forma que possuam um nome em comum 423 Modelagem de casos de uso Ator esta relacionado a um papel Os papéis descrevem o comportamento e responsabilidades de um indivíduo ou grupo de indivíduos onde cada papel é formado por um conjunto de atividades que o indivíduo desempenha Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 6 Exemplo Em um balcão de vendas teríamos pelo menos três papéis distintos participando da venda de um produto cliente vendedor e gerente de vendas Associações As associações representam os relacionamentos entre os atores que interagem com o sistema EspecializaçãoGeneralização Este relacionamento é uma forma de associação entre casos de uso com características semelhantes Inclusão e Extensão A inclusão é utilizada quando existe compartilhamento ou seja uma situação ou rotina comum em mais de um caso Os relacionamentos de inclusão ocorrem quando existe uma obrigatoriedade na ocorrência de um caso de uso ou seja a execução de um caso de uso A condiciona a execução de um caso de uso B A inclusão apresenta um estereótipo1 com o texto include E a extensão é utilizada para acrescentar um comportamento descrever cenários opcionais de um caso de uso que somente ocorrerão se uma determinada condição for satisfeita A extensão apresenta um estereótipo1 extend 1 O estereótipo indica um comportamento que se espera de um determinado componente representado entre os sinais Atores Associação entre um Ator e um Caso de Uso EspecializaçãoGeneralização Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 7 Exemplo Caso de uso de um sistema de controle bancário Diagrama de Casos de Uso 43 MODULARIDADE A arquitetura do software incorpora a modularidade isto é o software é dividido em componentes nomeados separadamente e endereçáveis frequentemente chamados de módulos que são integrados para satisfazer os requisitos do sistema Pressman 2002 Modularidade é um atributo individual do software que permite gerenciar apenas um programa ou software A Figura abaixo mostra vários módulos do ERP da SAP A modularidade de um bom software visa uma interpretação simples do projeto e permite uma boa manutenção Vale o bom senso O sistema ERP é um bom exemplo de aplicação da modularidade O ambiente operacional padrão do ERP se baseia em uma arquitetura servidorcliente A arquitetura servidorcliente é o módulo de implantação do hardware necessário para o ERP Com o desempenho necessário permite a implantação de vários módulos de software Favorece os negócios porque os módulos podem ser implantados de acordo com as necessidades do cliente Observe as duas próximas Figuras os produtos de software disponibilizados em módulos possíveis de serem configurados no mesmo ambiente operacional Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 8 Figura Módulos de um sistema ERP da empresa softsystemcom Fonte softsytemcom Disponível em httpswwwsoftsystemcombrsoftsystemlojasdetintajsp Consultado em set de 2019 Figura Módulos de um sistema ERP da empresa softsystemcom Fonte SGB Sistema de Gestão ERP Disponível em httpwwwsbgcombrsistemaerp gestaomicroempresa Consultado em set de 2019 Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 9 44 ENGENHARIA DE PROJETO Pressman 2007 O projeto é o que virtualmente todo engenheiro quer fazer É o lugar em que a criatividade acontece em que os requisitos do cliente as necessidades do negócio e as considerações técnicas se juntam na formulação de um produto ou sistema modelo de projeto fornece detalhes sobre as estruturas de dados arquitetura interfaces e componentes do software necessários para implementar o sistema O objetivo da engenharia de projeto é produzir um modelo que exiba firmeza comodidade e prazer Na elaboração do projeto o projetista precisa praticar a diversificação e depois a convergência De acordo com Belady Pressman apud Belady 1981 et al Diversificação é a aquisição de um repertório de alternativas a matériaprima do projeto componentes soluções de componentes e conhecimento Server SPARK Server Multicomputador Server PC SGBD MySQL SGBD MSIIsSQL SGBDOracle SOR UNIX SOR LINUX SOR WINDOWS Convergência o projetista escolhe os elementos do repertório que satisfaça os requisitos e os resume em uma particular configuração de componentes e posteriormente a criação do produto final Servidor de Dados SBC Server PC SOR LINUX SGBD MySQL Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 10 45 COMPONENTIZAÇÃO O componente é um bloco construtivo modular para o software A OMG Object Management Group define o componente como parte modular possível de ser implantada e substituível de um sistema que encapsula a implementação e exibe o conjunto de interfaces A necessidade da componentização A componentização é o processo de criação de ativos digitais com a finalidade de reutilização em projetos de software e sistemas A componentização é uma estratégia que agiliza a elaboração de arquiteturas e projetos de software e sistemas No desenvolvimento da arquitetura do software a componentização traz vários benefícios na elaboração da estrutura e projeto do software das quais se destacam Diversificação e seleção de alternativas de projeto Facilidade para dar suporte e manutenção Independência de ambiente tecnológico Melhor organização e controle do desenvolvimento Melhor visão de convergência tecnológica Otimização das funcionalidades permitindo a elaboração de novos produtos de software Planejamento e projeto escalar do sistema O termo componente será diferente dependendo do ponto de vista do engenheiro de software De acordo com os objetivos de análise os componentes podem ter as seguintes abordagens Uma visão Orientada a Objetos Software A visão convencional do Sistema Uma visão relacionada ao Processo 451 Diagrama de componentes O Diagrama de Componentes pode estar amplamente associado à linguagem de programação que será utilizada para desenvolver o sistema modelado Esse diagrama representa os componentes do sistema quando o mesmo for ser implementado em termos de módulos de códigofonte bibliotecas formulários arquivos de ajuda módulos executáveis etc e determina como tais componentes estarão estruturados e irão interagir para que o sistema funcione de maneira adequada O componente é uma unidade do software do sistema ou do processo que pode ser utilizada na construção de vários sistemas e que pode ser substituída por outra unidade que tenha a mesma funcionalidade O componente de software representa um conjunto de programas ou classes uma estrutura endereçável e independente que representa uma função específica Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 11 Exemplo Componentização da estrutura de um software 452 Engenharia de Domínio Reusabilidade do Software Objetiva identificar construir catalogar e disseminar um conjunto de componentes de software que tenham aplicabilidade para software existente e futuros dentro de um domínio de aplicação específico A engenharia de domínio quando bem elaborada permite que as peças componentes produzidas fiquem a disposição para serem usadas em outros projetos Um domínio de aplicação é como uma família de produtos aplicações com funcionalidade ou intenção de funcionalidade similar O objetivo é estabelecer um mecanismo em que engenheiros de software possam partilhar estes componentes usandoos em sistemas futuros Spool de Impressão Gerador de Relatórios Data Mining Layout App Tela 1 Mensagens BI Layout App Tela 2 Layout Pag Web 2 Layout Pag Web 1 Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 12 45 DIAGRAMA DE IMPLANTAÇÃO O Diagrama de Implantação pode ser considerado uma associação de diversos componentes que determinam as necessidades de hardware da estruturação dos serviços de dados e característica da rede de computadores do sistema que da apoio ao software Pelo diagrama de implantação se determinam as características físicas como servidores estações topologias e protocolos de comunicação ou seja todo o aparato físico sobre o qual o sistema deverá ser executado O Diagrama de Componentes e de Implantação pode ser associado representados separadamente ou em conjunto Exemplo 1 Diagrama de implantação Estrutura de acesso a caixa eletrônico Exemplo 2 Associação do diagrama de componentes com o diagrama de implantação Prof Ms Eng Edson Quedas Moreno Engenharia de Software REPRODUÇÃO PROIBIDA 13 BIBLIOGRAFIA BEZ06 BEZERRA Eduardo Princípios de Análise e Projeto de Sistemas com UML São Paulo Elsevier Campus 2006 FOW00 FOWLER Martin UML essencial um breve guia para a linguagem padrão de modelagem de objetos 2a ed Porto Alegre Bookman 2000 GUE07 GUEDES Gilleanes T A UML 2 guia prático São Paulo Novatec Editora 2007 LAU07 LAUDON Kenneth C LAUDON Jane P Sistemas de Informação Gerencial Administrando a empresa digital 7a ed São Paulo Prentice Hall 2007 MAT02 MATOS Alexandre Veloso de UML Prático e Descomplicado São Paulo Érica 2002 NUN10 NUNES Mauro Fundamental de UML 2a ed Portugal Lisboa FCA Editora de Informática 2010 PRE11 PRESSMAN PhD Roger S Engenharia de Software 7ed Rio de Janeiro McGraw Hill 2011 PRE07 PRESSMAN PhD Roger S Engenharia de Software 6a ed Rio de Janeiro McGrawHill 2007 SIL01 SILVA Alberto M R da VIDEIRA Carlos A E UML Metodologias e Ferramentas CASE Portugal Edições Centro Atlântico 2001 SHA09 SHACH Stephen R Engenharia de software os paradigmas clássico orientado a objetos 7ª ed São Paulo McGrawHill2009 SOM05 SOMMERVILLE Ian Engenharia de software São Paulo Pearson Addison Wesley 2005