A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Metodologia de desenvolvimento de sistemas

Apresentações semelhantes


Apresentação em tema: "Metodologia de desenvolvimento de sistemas"— Transcrição da apresentação:

1 Metodologia de desenvolvimento de sistemas
Faculdade de Ciências Aplicadas e Sociais de Petrolina – FACAPE Teoria Geral de Sistemas - TGS Metodologia de desenvolvimento de sistemas Profa. Cynara Carvalho

2 Introdução Para haver sucesso no desenvolvimento de sistemas, torna-se necessária à utilização de uma metodologia de trabalho.

3 Histórico das Metodologias
Crise do Software (~1970) Desenvolvimento de Software como “arte” – desenho de telas e arquivos Problemas de execução - erros Prazos extrapolados Custos inesperados – correção de erros e adaptação do código às reais necessidades do usuário Empresas dependentes de computadores com sistemas legados que necessitavam modificações mas com código/documentação ilegível ou inexistentes. Insatisfação de usuários

4 Problemas Pouco tempo para coletar dados sobre o desenvolvimento do software Comunicação durante o desenvolvimento muito fraca Falta de testes complexos

5 O que é Metodologia? Uma metodologia pode ser entendida como uma dissertação sobre a maneira de se utilizar um conjunto coerente e coordenado de métodos para atingir um objetivo, de modo que se evite a subjetividade na execução do trabalho.

6 Conceitos importantes
Um método pode ser entendido como um procedimento a ser adotado para se atingir um objetivo. O método se vale de um conjunto de técnicas. Uma técnica pode ser entendida como sendo um modo apropriado de se investigar matematicamente um determinado universo de interesse ou domínio de um problema. Uma técnica faz uso de uma notação. Uma notação é um conjunto de caracteres, símbolos e sinais formando um sistema convencionado de representação ou designação.

7 Benefícios Aumento da qualidade dos sistemas: Os desenvolvedores têm a sua disposição métodos que permitem levantar com precisão as necessidades dos usuários e construir sistemas melhor estruturados. Independência de indivíduos: Como os sistemas são bem estruturados e têm documentação padronizada e atualizada, um analista consegue, em pouco tempo, dar manutenção a um sistema que não conhece, evitando a figura do “dono do sistema”. Facilidade de manutenção: Pelos mesmos motivos acima citados: sistemas bem documentados e estruturados. Aumento da produtividade: Sistemas bem construídos têm mais partes reutilizáveis. E, como o sistema é bem especificado e projetado, gasta-se menos tempo em testes e “emendas” para atender ao usuário.

8 Principais Objetivos Criar uma ferramenta que possibilite o desenvolvimento de projetos na empresa em harmonia com os princípios elementares da administração tais como: planejamento, previsão, organização, decisão, comando, coordenação e controle; Promover o cumprimento de prazos, eficiência e qualidade do serviço, visando uma maior produtividade por meio da padronização das atividades de desenvolvimento e da racionalização dos controles e dos itens de documentação; Servir de apoio ao desenvolvimento de projetos em suas etapas, orientando a execução das atividades requeridas em todos os níveis de setores envolvidos, de uma forma padronizada e integrada; Estabelecer uma estrutura de documentação padronizada e compatível com a organização das fases e necessidades operacionais.

9 Características de uma boa Metodologia
Apresentar definição clara de “quem” faz “o que”, “quando”, “como” e até mesmo “onde”. Definir o papel dos técnicos, dos usuários e da administração da empresa. Instituir um conjunto de padrões preestabelecidos (evitar subjetividade) As técnicas adotadas devem ser estáveis.

10 Características de uma boa Metodologia
Uma metodologia deve definir quais as fases do trabalho previstas para o desenvolvimento de sistemas. Para cada fase quais técnicas adotadas. São exemplos das técnicas: Análise estruturada, análise essencial e projeto estruturado. A metodologia deve ainda definir para cada técnica adotada, quais as ferramentas utilizadas. São exemplos de ferramentas: DFD, MER, Digrama de transição de estados. Cada ferramenta irá produzir um tipo de modelo. São exemplos de modelos: modelo funcional, modelo conceitual de dados e modelo de controle; A metodologia deve estabelecer ainda pontos de controle e padrões de qualidade.

11 Análise de Sistemas Embora as ferramentas de modelagem sejam muito importantes, por razões diversas, na prática algumas empresas ainda relutam na sua adoção. Uma das queixas comuns entre os que relutam em aceitar, é que acreditam que com a adoção destas técnicas, o desenvolvimento de sistemas estende-se muito longamente.

12 Análise de sistemas 3 hipóteses para o uso das ferramentas de modelagem aumentou o tempo de desenvolvimento: O prazo para o desenvolvimento foi realmente mal estimado, sendo que neste caso mesmo com métodos tradicionais não se teria acertado na previsão do tempo. Os profissionais que atuaram no desenvolvimento do sistema ainda não dominavam a utilização das ferramentas adotadas pela técnica. O diagnostico que aponta perda de tempo é distorção de parâmetro, isto por que com a utilização de ferramentas que permitem um mecanismo mais rigoroso de verificação, muitas situações específicas de níveis abstracionais mais altos, foram corretamente analisadas. Análises mais pobres podem até economizar tempo, mas não cobrem a riqueza de situações que deve identificar em análises extremamente mais abrangentes e aderentes ao mundo real.

13 Perfil do analista O analista de sistemas deve possuir uma formação que vai além das disciplinas voltadas para o conhecimento de computadores. O seguinte conjunto de habilidades seria mais adequado para o bom desempenho na atividade de análise de sistemas de informação: Comunicação: entendida como capacidade para ouvir, redigir, expor idéias com clareza e precisão, aprender e expressar o conteúdo do aprendizado com facilidade. Capacidade de análise: entendida como aptidão para realizar operações mentais com abstrações sobre o recorte da realidade em estudo. Possuir uma visão sistêmica e critica do contexto em análise, além de habilidade para distinguir e conceituar categoria de significado de noções concretas e abstratas associadas ao negócio da empresa.

14 Perfil do analista Conhecimento da área usuária: entendido, principalmente, como aquele tipo de conhecimento que não pode ser obtido através de treinamento, mas adquirido por meio da experiência. Capacidade de negociação: entendida como habilidade em obter resultado desejado, e capacidade de organizar conflitos de interesses interpessoais que surjam durante o trabalho em grupo. Administração de projetos: entendida como noções sobre alocação de tempo e recursos, financeiros e materiais necessários a projetos, nos quais participam pessoas de formações diferentes, num empreendimento de característica interdisciplinar, procurando sempre a efetividade, garantindo eficácia e eficiência do processo de obtenção dos resultados a serem alcançados. Conhecimento técnico: entendido como a capacidade de especificar sistemas de informação, principalmente nas suas fases de nível de abstração mais alto

15 Perfil do analista As funções do analista, projetista e programador são, às vezes, confundida. Para esclarecer, podemos dizer, a rigor, que o papel do analista de sistemas é especificar quais são os requisitos do sistema do ponto de vista da eficácia, ou seja, garantir que o sistema alcance os objetivos globais da empresa. O analista deve certificar-se de que o sistema fará o que precisa ser feito, fará o que é certo ser feito, independentemente da instrumentação que será usada para chegar a este objetivo. Por sua vez, o projetista tem um papel voltado para a eficiência, isto é, voltado para obtenção do melhor desempenho individual dos componentes do sistema. O papel do programador é construir (implementar) o sistema, de acordo com as especificações feitas pelo projetista.

16 O aprendizado e a comunicação
Para realizar bem a especificação de um sistema de informação, o primeiro passo é reconhecer que a atividade de desenvolvimento de sistema é, em essência, o processo de solução de problemas. Esse processo compõem-se de uma fase de aprendizado (entendimento dos requisitos do sistema) e outra de comunicação (apresentação da solução encontrada para aprovação dos usuários). Normalmente quando um analista inicia o desenvolvimento de um sistema, ele sabe pouco ou quase nada sobre o sistema a ser desenvolvido. O desenvolvimento começa com uma fase de aprendizado.

17 O aprendizado e a comunicação
A fase de aprendizado é de grande complexidade, e varias são as teorias sobre os mecanismos sobre os quais ela se processa. O aprendizado pode ser divido em três grandes etapas: Síncrise – partimos da observação da realidade, tentando obter uma visão global do assunto em estudo. É um processo informal, através do qual tentamos juntar todos os fatos relevantes. Análise – partimos de uma visão global obtida na fase anterior; nessa hora, o processo de aprendizagem passa pela construção de uma espécie de maquete. Os pontos chaves para construção de um modelo simplificado de suas estrutura. Síntese – se proporão nesta fase, hipóteses e soluções a serem adotadas. Ao seu final, tem-se idéia de todo o sistema, quais as suas partes e qual a solução proposta para o problema.

18 O aprendizado e a comunicação
Uma vez terminada a fase de aprendizado, entramos na fase de comunicação com o usuário. Os principais gargalos num processo de comunicação ocorrem por conta dos problemas das seguintes naturezas: Problemas psicológicos: relacionados com percepção, atenção, motivação, atitudes, memória, hábitos de pensamento; Problemas semiológicos: relacionados com o emprego de códigos para comunicar: palavras, gestos, tom de voz, coisas escritas, etc. Problemas semânticos: relacionados com o significado das palavras; Problemas sintáticos: relacionados com a estrutura ou organização dos conteúdos; Problemas cibernéticos: relacionados com a retroinformação e o diálogo, com a quantidade de idéias transmitidas por diversos canais; A Análise auxilia na comunicação entre as pessoas envolvidas no gerenciamento da complexidade e na redução dos custos de desenvolvimento.

19 Evolução da Análise Técnicas Abordagens Ferramentas
Análise tradicional Funcional Textos Fluxogramas Análise Estruturada Dados DFD Diagrama de estrutura de dados Miniespecificações Normalização Dicionário de dados Análise Essencial Controle Tabela de eventos Diagrama de entidade Relacionamento Diagrama de transição de estados

20 Análise tradicional Basicamente, um documento Apenas uma ferramenta
Abordagem era quase que exclusivamente voltada para perspectivas das funções do sistema.

21 Análise Estruturada Enfatiza a perspectiva das funções, com ênfase nos processos. Utiliza as seguintes ferramentas: Diagrama de Fluxo de Dados. Dicionário de Dados. Especificação da Lógica de Processos. A análise estruturada clássica não modela o comportamento temporal, nem complexos relacionamentos de dados.

22 Análise Estruturada D1 Fornecedores E2 Fornecedores E1 Departamento
de produção E2 Fornecedores P1 Escolher fornecedor P2 Pedir materiais D1 Fornecedores Lista_materiais necessários Pedido_preços Preços_material Nota_encomenda Lista Dados_fornecedor Entidade externa Fluxo de dados Depósito De dados Processo

23 Análise Essencial É uma evolução da Análise Estruturada por adicionar a preocupação com o controle. Usa uma lista de eventos externos como base para o particionamento do sistema. O modelo essencial é construído sem considerar restrições de implementação (assume uma tecnologia perfeita) – essência do sistema

24 Análise Essencial O modelo essencial é formado pelo:
Modelo Ambiental – define a fronteira entre o sistema e o ambiente. Modelo Comportamental – descreve o comportamento interno do sistema. Modelo de Informação – modela os dados necessários às atividades essenciais do sistema. Modelo de Implementação – extensão do modelo essencial com restrições de implementação

25 Modelo Ambiental Diagrama de Contexto - Define as interfaces entre o sistema e o ambiente. São identificadas informações externas e as produzidas como saída. Lista de Eventos - Identifica os eventos que ocorrem no ambiente e como o sistema deve reagir.

26 Modelo Comportamental
Mostra o comportamento interno do sistema. Usa como ferramenta DFD com abordagem diferente. Constrói um DFD para cada evento (DFD de resposta a eventos). A partir dele é feito o agrupamento para formar os diagramas superiores e inferiores. Dicionário de Dados e Especificação de processos

27 Modelo de Informação Representa os dados necessários ao sistema.
Ferramentas utilizadas são: Diagrama de entidade e relacionamento Deriva da lista de eventos Representa a estrutura estática dos dados Dicionário de Dados Empregado Dependente 1 n

28 Modelo de implementação
Insere restrições de implementação aos modelos comportamental e de dados Fronteiras de automação, tempo de execução, capacidade de armazenamento, comunicação, etc.


Carregar ppt "Metodologia de desenvolvimento de sistemas"

Apresentações semelhantes


Anúncios Google