Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
AULA 1 – Prof. MARCELO VASQUES * PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 1 Prof. MARCELO VASQUES mvasqueso@gmail.com * * OBJETIVOS DA AULA Apresentar os conceitos de: Sistema de Informação. Software Processo de Desenvolvimento de SW Abordar os problemas do Software atual e origens no processo de desenvolvimento * * * BLIBLIOGRAFIA CAPÍTULO 1 LIVRO: ENGANHARIA DE SOFTWARE – Fundamentos, métodos e padrões 3ª. Edição / 2009 / editota LTC Wilson de Pádua Paula Filho * * * SISTEMA DE INFORMAÇÃO Sistema = Conjunto de partes, independentes, cada qual com seu objetivo e colaborando por um objetivo comum. Informação = Dados (fatos isolados) agrupados e relacionados (processados), com sentido lógico. Dados: chq 1235 de 1.250,00, chq 1236 de 750,00 Dado: saldo Anterior é 5.000,00 Informação: Saldo Atual é 3.000,00 Sistema de Informação = Conjunto de elementos inter-relacionados que coleta (entrada), manipula (processamento), armazena a dissemina (saída) informações * * * SISTEMA DE INFORMAÇÃO Manual Processa pouco volume de dados Baseado em computador (Usa TI) Hardware (componentes físicos – desgastes) Software (componentes lógicos) Banco de dados (armazenamento) Telecomunicações (rede, internet) Pessoas (mais importante. Fazem a diferença) Procedimentos e processos (organização) * * * SISTEMA DE INFORMAÇÃO O valor de um SI depende da qualidade de seus componentes. Excelentes algoritmos codificados em seu software X péssimo desempenho por defeito na especificação do hardware, rede ou BD Cada um de seus elementos pode por em cheque a confiabilidade e usabilidade do SI O engenheiro de software precisa saber a quem chamar quando o problema não for especificamente no software. * * * SISTEMA DE INFORMAÇÃO A Tecnologia não faz milagre !!! Os problemas com sistema de informática podem ter várias causas As pessoas que operam o sistema podem ser mal qualificadas. Investimento em treinamento Processos de negócios inadequados (no qual o sistema esta inserido) Deficiência do próprio sistema. Tecnologia inadequada * * * SOFTWARE Porção lógica de um SI, que comanda a operação do computador. Tipos de Software, quanto a natureza Software de Sistema: controlam as operações do computador: software da BIOS, S.O., L.P. Software aplicativo: interface direta com usuário Software hoje – Como administrar? Grandes e Complexos (envolvem toda organização) Demandam rápidas mudanças. * * * Responsável por prover o produto mais importante de nossa sociedade: a informação. Melhorias nos últimos 50 anos: Hw, BD, Redes – aumento capacidade de processamento + diminuição dos custos Por que SW não acompanhou? Por que levar tanto tempo para concluir o SW? Por que os custos do SW são tão elevados? Por que não achamos o erros antes da entrega? Por que os custos de manutenção são altos? SOFTWARE * * * Processo de desenvolvimento do HW é um sucesso. O do SW não. Por que? SOFTWARE * * * O desenvolvimento do SW depende MUITO do componente humano. Há pouca automação no desenvolvimento. Visão de projeto inadequada. Histórico: gestor de TI sem formação em ADM. Gestão (planejamento, organização e controle) de prazos e custos ineficiente Pressão dos usuários/clientes: rapidez. Daí os problemas Prazos, Custos, Comunicação SOFTWARE * * * REALIDADE. CRISE DO SW * * * * * * CICLO DE VIDA DO SW 1. Começo: percepção de necessidades. 2. Desenvolvido, transformado-se em um conjunto de itens a ser entregue ao usuário 3. Entra em operação, sendo usado dentro de um processo de negócio e sujeito a atividades de manutenção. 4. Fim: é retirado de operação ao final de sua vida útil. * * * COMO DESENVOLVER? Passado Necessidades Programação (CAOS) Hoje Projeto e Processo de desenvolvimento Qual a finalidade do SW? Quais as funções o SW terá? Como essas funções se integrarão? Como o SW se integrará ao contexto da empresa? Quanto tempo terei para construí-lo? * * * PROCESSO Conceito de Processo Maneira pela qual se realiza uma operação, segundo determinadas normas O método da engenharia se baseia em uma ação sistemática e não improvisada. * * * PROCESSO DE DESENVOLVIMENTO Concepção Requisitos Análise Projeto Codificação Testes Homologação Implantação Manutenção Organização das fases, estabelecendo: Quais são elas? Finalidade de cada uma? Ordem e ligação entre elas? Funcionamento do processo Documentação e modelos de cada fase * * * CONCEITOS FUNDAMENTAIS Escopo – Abrangência Compreende o que será considerado para o desenvolvimento. Quanto maior o escopo, maior é a complexidade e dificuldade de gerenciar o desenvolvimento. Requisito = Necessidades do usuário Compreende as funcionalidades que o sistema deve possuir. Fundamental – Definir os requisitos que farão parte do escopo. * * * CONCEITOS FUNDAMENTAIS Problemas e erros de requisitos são os mais caros de resolver. Quanto mais o tempo passa, pior Problemas Má definição do escopo do sistema (má atuação profissional). Rápida mudança de escopo (atualidade) Ou seja Atenção TOTAL aos Requisitos * * * ENGENHARIA DE REQUISITOS Problema – levantamento e documentação de requisitos Boa documentação – boas chances de atender aos requisitos Boa especificação de requisitos - fundamental Engenharia de Requisitos Técnicas de levantamento de requisitos Documentação. Análise de Requisitos * * * GESTÃO DOS REQUISITOS Problema: Instabilidade nos Requisitos Novos requisitos e Alterações de requisitos com o desenvolvimento já adiantado. Alto custo, Re-trabalho, perda de trabalho feito O mesmo que alterar a planta estrutural de uma casa, após iniciada a construção. A boa engenharia de requisitos tende a reduzir a instabilidade, obtendo os requisitos no momento oportuno. * * * PRAZOS E CUSTOS Requisitos Prazos e custos A quantidade e complexidade dos requisitos mandam na relação de causa e efeito sobre prazos e custos. Ouve-se muito: “não me interessa o que você vai dizer ! Preciso disso em 1 mês”. A questão: No início só temos requisitos. É difícil medir os programas necessários com base me requisitos. Após projeto detalhado se conhece melhor os detalhes. Mas usuário não espera. * * * PRAZOS E CUSTOS É preciso Planejamento e controle de projetos Análise dos riscos (probabilidade de sua ocorrência e ações corretivas, caso aconteçam) Acompanhar o progresso do projeto Renegociação dos prazos e custos Garantir a qualidade do processo Garantia = conformidade com requisitos Qualidade do produto é influencia da pela qualidade no processo Quanto ANTES um problema for identificado e resolvido, melhor (menos custo) * * * PROBLEMAS NO PROCESSO Software atual é: complexo, grande e com interface com demais sistemas. Necessidade de equipe grande, competente e interdisciplinar. O tempo geralmente é grande. Ou seja a gestão do processo de desenvolvimento está mais complexa Facilitador: Ferramentas de automação (case) * * * Detalhamento do conceito de Requisito Análise de Viabilidade do Sistema Técnicas de Levantamento de Requisitos * *