Upload
doanquynh
View
216
Download
0
Embed Size (px)
Citation preview
Sobre esta aula
Ciclo de Vida de Sistemas
Engenharia de Software
Aplicações de Software
Diagramação de Software
Ciclo de Vida de Sistemas
Um software geralmente vive como criança, tendo em média um ciclo de vida de cinco anos – isto quando não sofre implementações.
Um ciclo abrange as seguintes fases:
concepção: nascimento do software;
construção: análise e programação;
implantação: testes e disponibilização aos clientes e/ou usuários;
ti continua...
Ciclo de Vida de Sistemas
implementações: ajustes pós-implantação;
maturidade: software sedimentado;
declínio: dificuldade de continuidade;
manutenção: tentativa de sobrevivência; manutenção: tentativa de sobrevivência;
morte: descontinuidade do software.
Ciclo de Vida de Sistemas
Segundo Yourdon (1989), o ciclo de vida de desenvolvimento de um software segue as fases:
estudo de viabilidade;
análise de sistemas;;
projeto;
implementação;
geração de teste de aceite;
garantia de qualidade;g q ;
descrição de procedimentos;
conversão de banco de dados;
instalação.
Manutenção do software
Mudanças são inevitáveis quando se constroem sistemas baseados em computadores e pessoas, e principalmente com interferências políticas, científicas e atualidades.
Dentro da manutenção podemos dividir alguns tipos:
Manutenção por legislação: Quando o software requer alguma alteração ou ajuste em decorrência de aspectos legais.
Manutenção do software
Manutenção por melhoria ou implementação:
Quando o software necessita de ajustes para otimização dos
processos e agregação de valor.p g g ç
Manutenção por correções de erros:
Quando o software necessita de correções para eliminar erros, manutenção considerada problemática.
Manutenção do software
Manutenção preventiva:
Quando há necessidade de modificação para melhorar a confiabilidade ou uma manutenção de ajustes futuros.
Interatividade
Quando o software requer alguma alteração ou ajuste em decorrência de aspectos legais, a qual tipo de manutenção refere-se:
a) Manutenção por legislação;
b) Manutenção por melhoria ou ) ç pimplementação;
c) Manutenção por correções de erros;
d) Manutenção preventiva;
e) Manutenção corretiva;
Engenharia reversa
A engenharia reversa também pode ser elaborada na criação de novos sistemas a partir de sistemas antigos, quando normatizam todos os seus depósitos de dados.
A reengenharia não só recupera os dados como também utiliza suas informações para construção de inovações para
softwares já existentes.
Engenharia Software
Engenharia de software vem da arte da construção, com base no conhecimento científico e empírico adequado ao
atendimento das necessidades humanas.
Engenharia de software é a aplicação g p çsistemática, disciplinada e com abordagem quantitativa para o desenvolvimento, operação e manutenção de software
Engenharia Software
Ela é uma metodologia de desenvolvimento e manutenção de sistemas modulares com algumas características:
roteiro dinâmico, integrado e inteligente;
adequação de requisitos funcionais do negócio do cliente;
efetivação dos padrões de qualidade e produtividade;
planejamento e gestão de atividades planejamento e gestão de atividades.
Engenharia Software
O método de engenharia de software proporciona os detalhes de como fazer para construir software. Para isso são necessários:
planejamento;
estimativa;
análise de requisitos;
projeto da estrutura de dados;
arquitetura de programa e algoritmo, difi ã t t t ãcodificação, teste e manutenção.
Engenharia Software
Objetivos da engenharia de software
Aprimoramento da qualidade dos produtos de software.
Aumento da produtividade dos engenheiros de software.g
Atendimento dos requisitos com eficiência e efetividade.
O objetivo central da engenharia de software é a qualidade em qualquer dos pontos citados vemos que estápontos citados, vemos que está diretamente ligado a padronização com qualidade dos softwares desenvolvidos ou
em desenvolvimento.
Fundamentos da engenharia de software
A engenharia de software também é baseada em algumas matérias interdisciplinares, podemos citar as seguintes:
Ciência da computação
Administração e projetos
Comunicação
Técnica de solução de problemas
Fundamentos da engenharia de software
Ciência da computação
É dela que provêm os fundamentos científicos da engenharia de software de modo análogo que vem da física e da química.
Administração e projetos
Diretamente ligada ao gerenciamento de projetos de desenvolvimento de software (cronogramas, estimativas, atividade de planejamento, estrutura organizacional),p j , g ),
transformando, assim, o engenheiro de software em um gestor do projeto.
Fundamentos da engenharia de software
Comunicação
Atividade de extrema importância para a engenharia de software. A necessidade de comunicação interpessoal escrita e/ou oral é imprescindível para o andamento do desenvolvimento do sistema.
Técnica de solução de problemas
Um engenheiro de software é conhecido como um solucionador de problemas, um gerador de soluções integradas e g ç ginteligentes, isto se referindo à construção, à implantação ou à manutenção de produtos tecnológicos
A importância da engenharia de software
O software deve ser desenvolvido e distribuído com inteligência embutida, padrões visuais, seguindo as necessidades do usuário e/ou cliente, modulares e em redes complexas.
Deve ter sempre o foco no negócio e com o objetivo principal de auxiliar os processos de tomada de decisão estratégicos,
gerenciais e operacionais
Interatividade
Pode ser elaborada na criação de novos sistemas a partir de sistemas antigos esta afirmação refere-se:
a) Engenharia de software;
b) Engenharia de sistemas;) g ;
c) Engenharia reversa;
d) Engenharia inversa;
e) Engenharia transversa;
Aplicação de software
Um sistema ou software pode ser aplicado a todo e qualquer negócio e/ou situação, desde que o mesmo seja mapeado com os envolvidos usuários e/ou clientes previamente e seja gerando a documentação bem como os desenhosa documentação bem como os desenhos de diagramas e /ou fluxos, protótipos etc.
Software básico
Conjunto de programas com o objetivo de dar apoio a outros programas. Como compiladores, editores, gerenciadores de arquivos, drives.
Aplicação de software
Software em tempo real
Um software que monitora, analisa, controla eventos em tempo real.
Software comercial
O processamento de informações O processamento de informações comerciais, reestruturação dos dados de forma que facilitam as operações e a tomada de decisão, tais como: folha de pagamento, contas a pagar, processamento de transações em ponto p ç pde venda
Aplicação de software
Software científico e de engenharia
Caracterizado por algoritmos de processamento de números, utilizado em astronomia, mecânica automotiva, biologia molecular e outros.
Software embutido
Reside na memória só de leitura e é usado para controlar produtos e sistemas industriais e de consumo como exemplo:p
temos funções digitais em automóvel como controle de combustível, mostradores no painel
Aplicação de software
Software de computador pessoal
São os softwares de contínua inovação no projeto de interface com seres humanos. Tendo uma constância na sua
evolução e criação. Software estes como ç çplanilhas, editores de texto, diversões, aplicações financeiras pessoais, etc.
Software modelo espiral
Desenvolvido para abranger os melhores pontos de um ciclo de vida de projetopontos de um ciclo de vida de projeto, planejamento, análise de riscos, engenharia ou desenvolvimento do produto, avaliação.
Aplicação de software
Software com linguagem 4ª geração
4GL é um conjunto de ferramentas de software que possibilita ao desenvolvedor especificar o software em um nível mais elevado.
Software educacional
Tem como objetivo auxiliar o aprendizado e contribuir para a educação geral. Englobam sistemas de multimídia interativa ou não, software de ,entretenimento, livros eletrônicos etc.
Aplicação de software
Software de tutores inteligentes
Programas que projetam técnicas de comunidade de inteligência artificial, chamada também de ciência cognitiva.
Software de gestão empresarialg p
São softwares que integram todas as funções da empresa gerando uma base única de dados de onde provem informações operacionais e gerenciais. O Enterprise Resource Planning (ERP) é p g ( )um deles.
Aplicação de software
Software SIGFornecem informações para a tomada de decisão
Software SADFornecem informações a serem utilizadas pelos usuários na tomada de decisão.
Software EISFornecem informações de forma simples e amigável para os executivos de alto nível, permitindo o acompanhamento diário.
Interatividade
Tem como objetivo auxiliar o aprendizado e contribuir para a educação geral refere-se a qual aplicação de software:
a) Software de tutores inteligentes;
b) Software de gestão empresarial;) g p ;
c) Software de computador pessoal;
d) Software educacional;
e) Software modelo espiral;
Diagramação de software
A diagramação de software pode ser realizada de diversas formas a partir da definição e a utilização de uma metodologia de desenvolvimento de software.
Fluxogramas
Muito utilizado pelos analistas de processos ou antigos analistas de OM, principalmente para documentar processos de negócio, administrativos e industriais. Não recomendado para a engenharia, por não possuir uma especificação estruturada.
Diagramação de software
Di d fl d d d (DFD) Diagrama de fluxo de dados (DFD) Ferramenta de diagramação de software que possui diversos níveis, cada um deles com características específicas.
Diagramação de software
DFD í l 0 DFD nível 0
visualização do todo;
macroprocessos visíveis;
apresentação das entidades externas, fluxo de dados e deposito de dadosfluxo de dados e deposito de dados principais.
DFD nível 1
explosão do nível zero;
maiores detalhes, mais completo;
possui tratamento de exceções.
Diagramação de software
Di d t t Diagrama de contexto
Visão global;
desenha o ambiente;
representado pelas entidades externas e macrofluxos;macrofluxos;
um único macroprocesso;
sem depósito de dados.
Diagramação de software
Di d E tid d R l i tDiagrama de Entidade-Relacionamento
(DER)
O DER é uma técnica de modelagem de dados que pode ser utilizada em conjunto com outras técnicas de diagramas de gsoftware direcionadas ao desenvolvimento de sistemas.
Diagramação de software
R l i t 1 1 ( ) Relacionamento 1:1 (um para um) Quando cada departamento é gerenciado por apenas um gerente, e cada gerência possui apenas um departamento.
Diagramação de software
R l i t 1 it ( Relacionamento 1: muitos (um para muitos) cada venda envolve um ou mais itens, e cada item de venda é parte de apenas uma venda.
Diagramação de software
R l i t it it ( it Relacionamento muitos: muitos (muitos para muitos) cada fornecedor fornece um ou mais produtos, e cada produto é fornecido por um ou mais fornecedores.
Diagramação de software
E tid d d i t ã Entidade de interseção
É quando uma terceira entidade estabelece relações.
Conclusão da aula
Falamos basicamente sobre ciclo de vida de sistemas, engenharia de software, aplicações de software e diagramação de software
Interatividade
Ferramenta de diagramação de software que possui diversos níveis, cada um deles com características específicas refere-se a qual tipo de diagramação de software:
a) Fluxograma
b) Organograma
c) Diagrama de fluxo de dados
d) Diagrama de caso de uso
e) Diagrama de classes