Baixe o app para aproveitar ainda mais
Prévia do material em texto
Paradigmas de Análise e Desenvolvimento Aula 08 Prática de Análise Essencial Nesta aula, você irá: 1. Entender, na prática, as atividades da fase de Análise de Sistemas, usando a técnica na Análise Essencial. 2. Entender, na prática, as dificuldades em modelar sistemas usando a técnica da Análise Essencial. 3. Entender a relevancia em identificar corretamente os eventos que afetam o sistema e elaborar a Lista de Eventos. A análise de sistemas na prática As atividades que vamos explicar agora independem de processo de desenvolvimento, de técnicas de análise (estruturada, essencial ou orientada a objetos) e de metodologias. São atividades essenciais da fase de análise, em qualquer contexto. Vamos tentar explicar, passo a passo, as atividades que antecedem a modelagem do sistema e das atividades que ocorrem durante a modelagem. Vamos falar nessa aula de atividades como: Como a Análise começa? Antes da fase de análise, independente do processo de desenvolvimento, vai existir uma fase, geralmente chamada de concepção onde: • Será avaliada a viabilidade, tanto técnica, como econômica do sistema. • São identificados e documentados a empresa e os departamentos envolvidos, os principais objetivos, abrangência e requisitos do sistema. Todos os dados identificados e as definições da fase de concepção são registrados em um relatório que recebe vários nomes: Documento de Viabilidade, Relatório de Concepção, Mini Mundo, Relatório de Definições do Sistema, Relatorio de Requisitos do Sistema, além de outros nomes menos usuais. A fase de análise recebe então esse documento inicial, que não necessariamente foi desenvolvido pelo(s) mesmo(s) analista(s) de sistema(s) que será(ão) responsável(is) pela fase de análise. As atividades de análise, passo a passo O passo a passo que será apresentado e seguido nessa aula não é o único posssível e nem o mais eficiente, mas foi a reunião da experiência prática de anos de desenvolvimento de sistemas. Até porque, uma atividade tão complexa e com características tão subjetivas não pode ser resumida a uma passo a passo apenas. Levantamento de dados: Entender a empresa (muitas vezes vem no documento inicial de concepção); Entender o sistema em detalhes. Elaboração do documento de requisitos de análise. Validação dos requisitos com usuários. Modelagem de sistemas, segundo a técnica da análise essencial, que compreende: Validação dos requisitos e modelagem. Prototipação Estudo de caso e aplicação do passo a passo Para efeitos desse estudo de caso, o documento recebido pela equipe que vai trabalhar na fase de análise será um Mini mundo, que é apresentado a seguir. A locadora de fitas “Só Filmaço” atua no mercado de aluguel de mídias de DVDs e Bluerays há dois anos e resolveu informatizar a loja. A locadora só aluga mídias (nome do filme, diretor, categoria, valor do aluguel diário) a clientes cadastrados (nome, rua, número, telefone e bairro) e só possui um exemplar de cada filme. O atendente é responsável pelo atendimento aos clientes para o aluguel e devolução das mídias. Toda as mídias devem ser devolvidas em dois dias partir da data do aluguel e, diariamente ao final do expediente, é emitido para o gerente a lista os clientes em atraso para que seja feito um contato telefônico. Os clientes podem registrar dependentes (nome, grau de parentesco e idade,) que estão autorizados a retirar mídias em seus nomes, bem como excluir os já registrados. Periodicamente, são feitas promoções para atrair novos clientes e também são adquiridas mídias de novos filmes. Os novos clientes são introduzidos, no sistema, pelo gerente após uma verificação no SPC e as novas mídias são introduzidas, no sistema, pelo comprador da loja. Por ocasião da devolução é calculada a multa, caso haja, e todos os pagamentos são efetuados à vista ou em cartáo (de crédito ou débito). O sistema deve controlar os recebimentos em cartão. Além do controle de locação, a Vídeo Locadora deseja manter um cadastro dos equipamentos de reprodução de mídias (Tipo de equipamento, que pode ser DVD ou Blue Ray, nome do fabricante e data de fabricação) de seus clientes para futura criação de um setor de reparos eletrônicos. Um cliente pode ter vários destes equipamentos sendo que existem clientes que não possuem nenhum, ou não desejam registra-los. Sempre que precisa, o gerente emite o relatório de Mídias mais alugadas no período e o relatório de Mídias sem locação há mais de 4 meses. Levantamento de dados O objetivo da atividade de levantamento de dados, aqui na fase de análise é entender e detalhar o funcionamento da empresa e definir os requisitos de seus usuários. As técnicas mais usadas, obviamente que dependendo da situação, são: entrevistas, pesquisa de campo, reuniões, questionários e brainstorm. No início, quando os analistas de sistemas ainda não tem um conhecimento mais aprofundado do sistema e nem muito contato com os funcionários da empresa, as técnicas que tendem a ser mais usadas são: entrevistas, reuniões e pesquisa de campo. 1° Contextualizar a empresa Caso o documento inicial ainda não tenha identificado as áreas (departamentos e setores) envolvidas com o sistema, solicite um organograma (apenas médias, grandes ou pequenas empresas bem estruturadas, o terão) e identifique não somente as áreas envolvidas, como também os respectivos usuários pertinentes e ainda os responsáveis pelas áreas envolvidas. Estudo de caso: Não se aplica, pois não há contextualização. Mas como trata-se de uma pequena e até mesmo micro empresa a estrutura organizacional tende a ser simples e os usuários envolvidos tende a ser o(s) sócio(s), o gerente e o(s) atendente(s). O levantamento de dado deve considerar todos os envolvidos. 2° Identificar o objetivo geral do sistema A empresa deve saber com clareza o que pretende alcançar ao desenvolver o sistema (seja ele para substituir um processo manual ou um outro sistema) ou seja qual é para ela o objetivo do sistema. Estudo de caso: pelo texto inicial, fica claro que o sistema deve controlar todas as atividades de locação, passando pela gestão do acervo (inclusão e exclusão de exemplares). Está explícito que o sistema deve gerenciar as receitas em cartão. Mas não está claro quanto a gestão fechamento do caixa (recebimentos em dinheiro e cartão no dia a dia), o que deve ser elicidado na fase de levantamento de dados da análise. 3° Confirmar ou definir o escopo do sistema O documento inicial, se bem elaborado, já deve definir o escopo do sistema a ser desenvolvido. Todavia se não trouxer, deve ser definido com clareza nesse momento. Estudo de caso: observe que o item acima (definição dos objetivos) está intimamente relacionado com o escopo, logo após identificar com clareza os objetivos, a delimitação do escopo começa a ser definida, também. 4° Identificar os eventos que afetam o sistema A base para a modelagem sob a técnica da análise essencial é a elaboração da lista de eventos, que requer a identificação dos eventos que afetam o sistema, dentro do seu escopo. Estudo de Caso: do texto inicial muitos eventos ficam claros porem a correta definição dos objetivos e do escopo afetam a corretude da lista de eventos. A seguir, a lista de eventos inicial (antes do levantamento de dados da analise). Levantamento de dados 1ª. Versão dos Eventos que afetam o Sistema Documento de requisitos de analise Após o levantamento de dados da fase de anãlise deve ser elaborado um documento simples, complementando o documento inicial de requisitos (nesse estudo de caso foi um mini-mundo) que poderá conter: Retificações de eventuais dados do levantamento inicial. Definições não constantes do documento inicial. Complementos de informações Um aspecto relevante que deve ser observado nesse documento são os dados que devem ser tratados pelo sistema, já ajudando na definição dos depósitos de dados, fluxos de dadose no Modelo de Entidade e Relacionamento (MER). Validação dos requisitos com usuário Antes de iniciar a modelagem de análise é oportuno que façamos uma revisão dos requisitos, junto aos usuários. Para tal é aconselhável rever com eles, com base no Documento de Requisitos de Análise, cada uma das necessidades que serão traduzidas em funcionalidades no sistema. Muitas empresas tem por hábito fazer com que a empresa-cliente assine o documento ao final, tomando ciência dos requisitos levantados, com os quais será dada início a modelagem. Tal ação é importante para, futuramente, mostra aos usuários que determinado requisito ou a mudança demandada não estavam no escopo do trabalho. Mas não servirá para muito mais além disso, pois se a mudança for fundamental, não vai importar quem errou, pois o deverá ser incorporada ao projeto. Mas de toda forma, devemos seguir essa formalização. Lista de objetivos do sistema Estudo de caso: Abaixo a lista de objetivos do sistema do estudo de caso. O Sistema de Locação de Mídias tem como objetivo geral controlar os empréstimos e respectivas devoluções das mídias da Locadora, gerenciando ainda os recebimentos tanto os que sejam a vista como nos cartões de crédito. O sistema deve subsidiar o gerente com relatórios que auxliem a sua gestão e tomada de decisão. O sistema tem como objetivos específico: Manter atualizado o cadastro de clientes e respectivos dependentes que possam realizar empéstimos em seu nome, possibilitando ao cliente a inclusão e exclusão de seus dependentes, sempre que desejado. Registrar os empréstimos e devoluções de mídias. Emitir, ao gerente, relatórios que o permitam gerir os empréstimos e as finanças da empres. Manter atualizado o cadastro de mídias, cujas inclusões devem ser alimentadas pelo comprador da loja. Registrar os equipamentos dos clientes (que desejam informar, é claro). Controlar a abertura e fechamento do caixa, registrando as entradas diárias (sejam recebimentos a vista, como em cartão). Registrar os recebimentos em cartão, na medida em que são informados pela Administradora do cartão. Lista de eventos Estudo de caso: Lista de Eventos Ao invés de desenhar os diagramas, farei uma descrição textual do mesmo deixando a prática do desenho para exercicio de vocês. Indicaremos os depósitos de dados, sempre que forem necessários. Olhando pela tabela de eventos temos as seguintes relações com relação aos elementos do DFD: Estímulo = Fluxo de dados de entrada (da entidade externa para o processo) Função = Processo do sistema Resposta = Fluxo de dados de saida (do processo para a entidade externa) Estudo de caso: Para cada evento abaixo, da tabela, deve-se elaborar o DFD particionado, considerando os elementos do DFD constante abaixo. Observe que os eventos 4,6,8 e 11 não possuem fluxos de saída pois são atividades custodias, ou sejam alimentam a memória essencial. Vamos exemplificar alguns a construir o DFD particionado como base na tabela acima. Peguemos o evento de número 7-Gerente informa novos clientes. Acompanhe pelos dados constantes da Tabela: O único depósito de dados é o de Clientes (coluna Depósito de dados), onde são inseridos os dados constantes no fluxo Dados Novo Cliente (Coluna Fluxos de Entrada). A função ou processo Incluir Cliente (Coluna função) vai receber os dados do novo cliente, através do fluxo de dados vindo do Gerente (Coluna Entidade Externa), e antes de inserir os dados, consulta se o cliente já não está cadastrado (por isso a sete duplica, que indica consulta e inserção de dados no depósito Clientes). Sendo os dados do novo cliente inseridos com sucesso, o sistema emite a Carteira de Sócio (Coluna Fluxos de Saída) para o Cliente (Coluna Entidade Externa) Acompanhe pelos dados constantes da Tabela: Os depósitos de dados (coluna Depósito de dados) envolvidos são: Clientes (consulta para verificar se cliente está cadastrado), Mídias (consulta para verificar se o cliente está cadastrado) e Locações (onde são inseridos os dados de cada locação realizada). A função ou processo Registrar Locação (Coluna função) vai receber os dados da locação, através do fluxo de dados vindo do Cliente (Coluna Entidade Externa), e antes de inserir os dados da locação, consulta se o cliente está cadastrado e a mídia a ser locada está cadastrada. Caso as duas consultas (cliente e midias) retornem como existentes, a função consulta se a locaçao já nã foi registrada e em caso negativo insere os dados do fluxo , no respectivo depósito de dados. Sendo os dados do novo cliente inseridos com sucesso, o sistema emite o Boleto de Locação (Coluna Fluxos de Saída) para o Cliente (Coluna Entidade Externa). Os exemplos apresentados mostram como elaborar cada um dos DFDs particionados o evento. Vamos treinar com os demais? Conforme já vimos na aula de Análise Essencial, o MER pode ser obtido a medida em que e faz o particionamento por evento, analisando as entidades envolvidas e ir acrescentando as entidades, atributos e relacionamentos ao diagrama. Há um outro método, que pode ser feito analisando os depósitos de dados e identificando o relaciomanento entre eles. Como na respectiva aula de análise essencial usamos o primeiro módodo, exercitaremos agora o segundo. Abaixo, uma análise dos depósitos de dados e respectivos conteúdos, que são obtidos dos mini mundo inicial e do Documento De Requisitos de Análise. MER Estudo de caso: A coluna Depósito, mostra os depósitos de dados. A coluna Se Relaciona com, mostra os depósitos com os quais cada um se relaciona. A coluna conteúdo mostra os dados que são armazenados. Depósito Se relaciona com Conteúdo Clientes Dependentes Locações (relacionamento) Mídias Nome, rua, número, bairro e telefone Midias Locações (relacionamento) Clientes Dependentes Nome do filme, diretor, categoria, valor locação diaria Dependentes Clientes Locações (relacionamento) Nome do titular, nome do dependente, grau de parentesco e data de nascimento Locações Clientes Dependentes Mídias Data locação, Data de devolucao, Valor Pago, Multa, Status, Cliente e Mídia Equipamentos Clientes Tipo, nome do fabricante e data de fabricação Movimentos Caixa Locações Data, Valor Entrada, Saldo Inicial, Tipo (Vista o cartão) Faturas Cartão Locações e Movimento Caixa Data, Data Credito, Valor, Adm cartão Na elaboração do MER, cada depósito, vira em princípio uma Entidade ou um relacionamento. Então vejamos o depósito CLIENTES, que se relaciona com Dependentes e Locação. Como? • Cliente POSSUI Dependentes. • Cliente Faz LOCAÇÃO de Mídias. Na elaboração do MER pode ser necessário contato com o analista de dados ou analista de banco de dados da empresa, pois podem existir Cadastro de Clientes em outro sistema já desenvolvido na empresa e nesse caso precisamos saber: • Estrutura da tabela já existente, para saber se contempla os dados que são necessários a esse sistema • Como poderá ser incluido, nessa tabela, dados que não conste nelas ainda e que o sistema precise. DTE O Diagrama de Transição de Estados (DTE) deve ser feito para cada entidade que possua mais de 1 estado. Estudo de caso: A mídia é a entidade sobre a qual vale a pena modelar o DTE. Vamos desenhar o DTE? DFD por níveis Construído da união dos diversos DFDs particionados. Estudo de caso: Temos 14 eventos, o DFD preliminar teria os 14 processos em um só desenho, que ficaria um emaranhado de fluxos e muito complicado de ser entendido. Assim sendo, é preciso agrupar esses 14 processos, para configurar o nível ZERO (principais funções do sistema). A tabela, mostra uma das formas de junção dessesprocessos: Esses 2 relatórios poderiam também estar agrupados em Gerenciar Locação, pois pode-se achar que tem relação com as locações e devoluções. É uma questão de decidir, ou seja bastante subjetivo, pois 2 pessoas pode pensar diferente. Não existe a solução correta, várias são viáveis. Com base na tabela acima, pode-se desenhar o diagrama de nível zero, com os 4 processos principais, também chamados de macro processos: Atualizar Clientes, Gerenciar Locação, Gerenciar Caixa e Gerenciar Mídias. Dicionário de dados O dicionário de dados deve ser elabarado para definir cada elemento constante do conjunto de DFD`s. Vamos tentar mostrar como elaborar o DD de cada um dos possíveis elementos do DD. Atenção: Repare que CPF não estava definido no mini mundo, mas ou pode ter sido definido em documento de requisitos de análise ou pelo analista de sistemas durante a modelagem. Esse campo do depósito, por estar sublinhado é a chave de acesso. Especificação de processos Para se especificar processos é preciso ter feito o DFD em níveis e devemos especificar a lógica de todos os processos que não foram explodidos no DFD, que são os chamados Processos Primitivos. Mesmo sem modelar o DFD em níveis, para o qual convido vocês, posso afirmar que Incluir Equipamentos será um processo primitivo e assim sendo, vamos especificar a sua lógica e convida-lo a especificar os demais primitivos após seu DFD de níveis estar pronto. PROCESSO: Incluir Equipamentos * Cria uma nova ocorrência de Equipamento no depósito Equipamentos * INICIO Obter Dados equipamento Localizar o CPF do cliente em CLIENTES, associado Nome de Dados equipamento SE Achou Localizar o tipo equipamento, nome fabricante e data do fabricante de Dados equipamento em EQUIPAMENTOS SE NÃO ACHOU Armazenar Dados equipamento em EQUIPAMENTOS com CPF Cliente FIM-SE FIM-SE FIM Lembrando que os termos sublinhados são aquelas que estão definidos no DD. Validação dos requisitos e modelagem A ideia é que DFD é um modelo para que se possa discutir com os usuários os requisitos do sistema. Mas na prática isso nunca foi muito factível, pois: • É um modelo composto de 3 componentes: DFD em si, DD e especificação de processos, ou seja difícil para usuário entender. Se já é complicado para os analistas e sistemas modelarem e entenderem, imagina para o usuário. • Ou seja usuário não tinha segurança de validar pelos modelos e sim por textos ou algo que relacionasse as funcionalidades do sistema. Acredito que veio desde essa época a ideia de prototipação, ou seja construir a casca de um sistema (com as opções e navegação, sem implementação de funcionalidade), para usuário ver as funções e entender mais rápido. Saiba mais: Sugerimos o acesso aos seguintes sites, referentes aos conceitos e práticas inerentes a técnica de Analise Essencial para desenvolvimento de sistemas. Procure explorar todos os links existentes nas URLs abaixo relacionadas. Todos os sites abaixo foram acessados em 26/01/2012 URL: http://javafree.uol.com.br/wiki/Analise%20Essencial Site Wikipédia sobre Análise Essencial. URL: http://pt.wikipedia.org/wiki/An%C3%A1lise_essencial Notas de Aula sobre Análise Essencial. URL: http://pt.scribd.com/doc/49617145/8/%E2%80%93-Analise-Essencial-de-Sistemas. Notas de Aula sobre Análise Essencial. URL: http://sites.seven.com.br/stpd2000/upload/2001/1semestre/aps1/essencial.PDF Nesta aula, você: Aprendeu que a fase de análise contempla outras atividades além da modelagem em si. Entendeu que a fase de modelagem demanda integraçao com diversos profissionais da empresa, envolvidos ou não, especificamente, no desenvolvimento do sistema a ser modelado. Aprendeu a modelar o sistema usando a técnica da Análise Essencial. Na próxima aula, você estudará sobre os assuntos seguintes: A modelagem OO na prática, desenvolvendo, em um estudo de caso, os modelos de Casos de Uso, de Classes e de Sequencia Respostas 4, 2, 3
Compartilhar