Princípios da Engenharia de Software Aua 01 Prof.: José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br Materia cedido por: Frankin M. Correia frankin.correia@bonfim.ifbaiano.edu.br
Objetivo Conhecer e apicar as metodoogias, ferramentas, procedimentos e boas práticas de Engenharia de Software.
O que temos pra hoje?? Introdução a Engenharia de Software O que é software? O que é Engenharia de Software? Conceitos importantes Tipos de Produtos Processo de software Fazes do processo de software Modeos de Processo de software
Crise do Software Termo Engenharia de software usando 1968 durante a crise do software. Produção de um novo hardware usando circuitos integrados (1964) Apicações inviáveis tornaram-se reaizáveis Construção informa de software Atrasos exorbitantes Ato custo de construção de software Custo do hardware caindo e de software subindo Criação de técnicas para controe da produção do software
Engenharia de Software O que é Engenharia de Software? Ramo da engenharia cujo foco é o desenvovimento dentro de custos adequados de sistemas de software de quaidade. Software é abstrato, intangíve, não é imitado por materiais, ou controado por eis físicas ou por processos de manufatura (Sommervie, 2003).
O que é Engenharia de Software Linguagens de programação Banco de Dados Infraestrutura Engenharia de Software Projetos Outros
O que é software? Software não é apenas o arquivo executáve / programa É o Programa de computador, toda documentação associada(arquivos de configuração, manua de instaação e utiização) e o banco de dados. Podem ser desenvovidos para um ciente específico ou para um mercado gera
Tipo de produto Software Produto de Software de Prateeira / Genéricos Chamado de stand-aone Criados de forma genérica, para quaquer empresa. Controe de estoque Controe de farmácia Programas de Contabiidade Produtos sob encomenda / Personaizados Software criados com objetivo de prover uma soução específica para um ciente específico Software para dispositivos eetrônicos: Geadeiras, jogões, micro-ondas Sistema de controe de tráfego aéreo
Processo de software Método utiizado para desenvover ou produzir um software. Define o que faz, como será feito e quando será feito
Processo de software O Como O O Capaz de responder as perguntas: que é feito? ===> Produto é feito? ===> Passos Por quem é feito? ===> Agente que usa? ===> Insumos que produz? ===> Resutados
Modeo de Processo de software Deve incorporar uma estratégia de desenvovimento definição do probema estado atua desenvovimento técnico integração da soução
Modeo de processo de software A modeagem é uma técnica de engenharia bem aceita modeos de arquitetura de casas e de grandes prédios modeos matemáticos a fim de anaisar os efeitos de ventos e tremores de terra --> causas
Modeo de processo de software
Modeo de processo de software O que é? Simpificação da reaidade Panos podem ser: Reais - Organização do sistema Comportamentais dinâmica do sistema Porque é importante construir modeos? Mehor entendimento do sistema que está sendo construído Especificar a estrutura e comportamento Guia a construção do sistema Documenta as decisões tomadas
Modeo de processo de software Objetivo Auxiiar ao gerente: controar o processo de desenvovimento de sistemas de software. Auxiiar ao desenvovedor: obter a base para produzir, de maneira eficiente, software que satisfaça os requisitos pré-estabeecidos.
Modeo x Processo Modeo de software : documento teórico, conjunto de possíveis ações Processo de software: deve determinar ações práticas a serem reaizadas pea equipe como prazos definidos e métricas para se avaiar como eas estão sendo reaizadas
Processo de software Estudo de viabiidade Reatório de viabiidade Levantamento e anáise de requisitos Modeos de sistemas Especificação de requisitos Requisitos do usuário e do sistema Vaidação de requisitos Documentação de requisitos
Processo de software Estudo de viabiidade Econômica reação custo/benefício; Técnica tecnoogia e capacitação; Jurídica aspectos egais Levantamento de Anáise de Requisitos Entrevista Observação Reuniões
Processo de software Especificação de requisitos Documento contendo os requisitos do usuário e do sistema Funcionais e não funcionais Vaidação de requisitos Avaiação do documento de requisitos consistência e integridade
Modeo de processo de software Exempo de modeos de processo: Workfow sucessão de atividades ou sequência de passos Fuxo de dados fuxo de informação Pape / Ação representa os papeis das pessoas e as atividades peas quais eas são responsáveis
Cico de vida de um software Uma estratégia de desenvovimento que engobe processos, métodos e ferramentas, e as fases de desenvovimento...
Cico de vida de um software Modeo em Cascata - cico cássico Paradigma Evoucionário Prototipação Incrementa Espira Métodos Ágeis Modeos Formais Técnicas de 4ª Geração Orientado a Reuso
Modeo em cascata (cico cássico) Método sistemático e sequencia O resutado de uma fase se constitui na entrada da outra Cada fase é estruturada como um conjunto de atividades que podem ser executadas por pessoas diferentes
Modeo em cascata (cico cássico) Engenharia de Sistemas Anáise de Requisitos Projeto Codificação Testes Manutenção
Modeo em cascata (cico cássico) Engenharia de Sistemas Anáise de Requisitos Projeto Codificação Testes Manutenção
Modeo em cascata (cico cássico) Engenharia de Sistemas Envove a coeta de requisitos (níve de sistemas) Pequena quantidade de projetos Anáise de ato níve Importante quando o sistema fizer interface com outros eementos (hardware, pessoas e banco de dados)
Modeo em cascata (cico cássico) Engenharia de Sistemas Anáise de Requisitos Projeto Codificação Testes Manutenção
Modeo em cascata (cico cássico) Anáise de Requisitos Envove a coeta de requisitos (níve de usuário) de forma intensa Compreensão do domínio, função, desempenho e interface necessários Os requisitos são documentados e revistos com o ciente
Modeo em cascata (cico cássico) Engenharia de Sistemas Anáise de Requisitos Projeto Codificação Testes Manutenção
Modeo em cascata (cico cássico) Projeto Requisitos do software -> Representações Avaiação de quaidade Anterior a codificação Concentram em 4 atributos Estrutura de dados Arquitetura Detahes de procedimentos Caracterização de interface
Modeo em cascata (cico cássico) Engenharia de Sistemas Anáise de Requisitos Projeto Codificação Testes Manutenção
Modeo em cascata (cico cássico) Codificação Impementação Tradução do projeto em código computaciona Instruções executáveis peo computador Linguagens de programação ( ato ou baixo níve ) Quanto mais coeso o projeto e os requisitos mais rápida é a codificação
Modeo em cascata (cico cássico) Engenharia de Sistemas Anáise de Requisitos Projeto Codificação Testes Manutenção
Modeo em cascata (cico cássico) Testes Concentra os aspectos ógicos internos Garante o teste de funcionaidade (código) Nos aspectos funcionais externos Descobrir erros (teste de funcionaidade) Entrada x produz saída y Garantir a confiabiidade
Modeo em cascata (cico cássico) Engenharia de Sistemas Anáise de Requisitos Projeto Codificação Testes Manutenção
Modeo em cascata (cico cássico) Manutenção Aterações depois de entrega efetuada Mudanças ocorrem por: Erros Adaptação para acomodação de mudanças em processo organizaciona Exigência do ciente para acréscimo funciona Em decorrência do desempenho
Probemas com modeo em cascata Projetos raramente seguem o fuxo do modeo Dificudade de estabeecer os requisitos no início do projeto O ciente deve ter paciência Uma versão do produto só ficará disponíve numa etapa avançada de desenvovimento
Modeo em cascata comentário Mesmo com as fragiidades, ee é significativamente mehor que uma abordagem aeatória de desenvovimento. Embora a entrega de uma versão beta seja tardia o resutado é satisfatório porem demorado.