Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Universidade São Judas Tadeu Prof. André Luiz Ribeiro Prof. Jorge Luis Pirolla Introdução à Computação Engenharia de Software Tópicos n O que é Engenharia de Software? n Engenharia de Software em camadas n Processo de Desenvolvimento de Software n Modelos de Processos de Software n Perguntas e Definições O que é Engenharia de Software A engenharia de software é uma disciplina da computação, cuja meta é produzir software com uma boa relação custo/benefício. 2 Engenharia de Software em Camadas Engenharia de Software em Camadas n Qualidade: É a camada que suporta a engenharia de software, tendo como foco um software total com qualidade; n Processos: É a camada que constitui o elo que mantém juntos os métodos e as ferramentas, definindo a sequência que os métodos serão aplicados, controlando a qualidade e coordenando as mudanças de requisitos; Engenharia de Software em Camadas n Métodos: É a camada que fornece a técnica de como fazer para construir softwares. Os métodos envolvem um amplo conjunto de tarefas que incluem: análise de requisitos, projeto, programas, testes etc; n Ferramentas: n É a camada que proporciona apoio automatizado aos processos e métodos, como por exemplo as ferramentas CASE (Computer Aided Software Engineering). 3 Processo de Desenvolvimento de Software n O processo de desenvolvimento é um conjunto de atividades coerentes e consistentes para especificar, projetar, implementar e testar um software. n O modelo de processo de desenvolvimento é uma representação abstrata de como será realizada a construção do software. Para que um processo? n Para definir as atividades a serem conduzidas no projeto; n Para uniformizar o entendimento dos envolvidos em relação ao desenvolvimento de sistemas; n Para manter a consistência entre sistemas desenvolvidos em uma mesma empresa; n Para viabilizar pontos de controle para a gerência. Modelos de Processos de Software n Modelo Cascata; n Modelo Prototipação; n Modelo Espiral; n Modelo Incremental; n Modelo RUP; n Modelo XP; n Outros Modelos. 4 Modelo Cascata Modelo original (Royce) ENGENHARIA DE SISTEMAS PROJETO ANÁLISE CODIFICAÇÃO MANUTENÇÃO TESTE n 1º. Passo - Planejamento: Entendimento do Sistema – Necessidades (requisitos) do sistema e planejamento dos demais passos. n 2º. Passo – Análise: Detalhamento do Sistema – Análise detalhada do que o sistema deve fazer. n 3º. Passo – Projeto: Proposta de solução do Sistema – Geralmente utiliza-se modelos (diagramas). Como desenvolver Sistemas? n 4º. Passo – Codificação: Implementação do modelo – programação. n 5º. Passo – Teste: Testes do sistema já implementado – verificação do funcionamento do sistema. n 6º. Passo – Manutenção: Manutenção do sistema – possíveis correções, melhorias, novos requisitos. Como desenvolver Sistemas? 5 Fazendo um comparativo com os programas realizados em laboratório... Fases do Sistema Objetivo Paralelo simples com a codificação de um programa Planejamento Especificar o sistema Enunciado do programa Análise Analisar como deve ser feito o sistema Leitura/entendimento do programa Projeto Esquematizar o sistema, geralmente através de alguma notação de gráfica (diagramas) D i a g r a m a N / S , p o r t u g o l o u fluxograma Implementação Codificar o sistema Programar .NET, Java etc... Testes Testar o sistema Verif icar se o programa está funcionando de forma adequada Implantação Implantar/instalar o sistema Copiar o programa para outro computador Manutenção Realizar modificações no sistema Modificações no programa Pergunta Definição O que é software? São programas de computador, conjuntos de dados e documentação. O que é engenharia de software? É uma abordagem para o desenvolvimento de software que se preocupa com todos os aspectos da produção de software, desde os estágios iniciais de especificação de sistemas até a manutenção e morte desse sistema. Qual é a diferença entre engenharia de software e engenharia de sistemas? A engenharia de sistemas se ocupa de todos os aspectos relacionados ao desenvolvimento de sistemas com base em computadores, incluindo hardware, software e engenharia de processos. A engenharia de software é parte desse processo. O que é um processo de software? É um conjunto de atividades, cuja meta é o desenvolvimento ou a evolução do software. O que são métodos de engenharia de software? São abordagens para o desenvolvimento de software, que incluem: modelos, notações, regras, recomendações de projetos e diretrizes de processos. O que é CASE (Computer Aided Software Engineering) São ferramentas destinadas ao apoio automatizado às atividades de processo de software. Quais são os atributos de um bom software? O software deve proporcionar aos usuários as funcionalidades e o desempenho requerido, e deve ser passível de manutenção, confiável e de fácil uso. Quais são os principais desafios enfrentados pela engenharia de software? Lidar com sistemas legados, atender à crescente diversidade, atender e gerenciar requisitos e atender às exigências quanto ao prazo. Perguntas e Definições Por que construir modelos? n Comunicar a estrutura e o comportamento desejado do sistema; n Visualizar e controlar a arquitetura do sistema; n Compreender melhor o sistema; n Reutilizar em sistemas idênticos; n Gerenciar Riscos. 6 Objetivos dos modelos? n Os modelos ajudam a visualizar o sistema como é e/ou como desejamos que seja; n Os modelos permitem especificar a estrutura ou o comportamento de um sistema; n Os modelos proporcionam um guia para a construção do sistema e n Os modelos documentam as decisões tomadas. Por que utilizar notação gráfica para representar os modelos? UML (Unified Modeling Language) n A UML (Unified Modeling Language) é uma linguagem padrão para a elaboração da estrutura de projetos de software, que surgiu em meados da década de 90. n Pode-se definir UML como uma linguagem de modelagem usada para especificar, visualizar, construir e documentar sistemas orientados a objetos.
Compartilhar