Please enable JavaScript.
Coggle requires JavaScript to display documents.
Processos de Software (Sommerville), Entradas de projeto, Sistema…
Processos de Software
(Sommerville)
Modelos de processo de software
É a representação simplificada de um processo de software.
Desenvolvimento incremental
Baseia-se na ideia de desenvolver uma implementação inicial, expô-la aos usuários e continuar na criação de várias versões até que um sistema adequado seja desenvolvido
VANTAGENS
Facilidade na obtenção de feedback dos clientes
Obtenção de entrega e implementação rápida
Menor custo ao realizar mudanças nos requisitos
PROBLEMAS
O processo não é visível.
Estrutura do sistema tende a degradar com a adição dos novos incrementos.
Engenharia de software orientada a reúso
baseia-se na existência de um número significativo de componentes reusáveis. O processo concentra-se na integração desses componentes em um sistema já existente ao invés de criar um do zero.
ESTÁGIOS
Modificação de requisitos
Projeto do sistema com reúso
Análise de componentes
Desenvolvimento e integração
COMPONENTES
Web services
Coleções de objetos que são desenvolvidas como um pacote a ser integrado com um framework
Sistemas de software stand-alone
Modelo em cascata
é um processo dirigido a planos; deve-se planejar e programar todas as atividades do processo antes de trabalhar nelas.
ESTÁGIOS
Projeto de sistema e software
Implementação e teste unitário
Análise e definição de requisitos
Integração e teste de sistema
Operação e manutenção
Atividades do processo
Especificação de software
Produz documento de requisitos
Atividades principais
Estudo de viabilidade
Elicitaçâo e análise de requisitos.
Especificação de requisitos.
Validação de requisitos.
Implementação de software
Converte a especificação do sistema em um sistema executável
Validação de software
Mostrar que um software se adequa a suas especificações
Mostrar que o software satisfaz as especificações do cliente do sistema.
Técnica de validação
Teste de desenvolvimento
Teste de sistema
Teste de aceitação
Evolução do software
Deve permitir a flexibilidade do sistema
É a manutenção do software
Projeto de software
Descreve estrutura do software, modelos e estrutura de dados
Atividades de projeto
Projeto de arquitetura
Projeto de interface
Projeto de componente
Projeto de banco de dados
Saídas de projeto
Lidando com mudanças
A mudança é inevitável em todos os grandes projetos de software.
Prototipação
Um protótipo de software pode ser usado em um processo de desenvolvimento de software para ajudar a
antecipar as mudanças que podem ser requisitadas
No processo de engenharia de requisitos, um protótipo pode ajudar na elicitaçâo e validação de requisitos de sistema.
No processo de projeto de sistema, um protótipo pode ser usado para estudar soluções específicas do software e para apoiar o projeto de interface de usuário.
O processo de desenvolvimento de protótipo
Estabelecer objetivos do protótipo
Definir funcionalidade do protótipo
Desenvolver protótipo
Avaliar o protótipo
Modelo Espiral de Boehm
O processo de software é representado como uma espiral, e não como uma sequencia de atividades com alguns retornos de uma para outra
Cada volta da espiral é dividida em quatro setores
Avaliação e redução de riscos
Para cada um dos riscos identificados do projeto, é feita uma análise detalhada
Medidas para redução do risco são tomadas
Desenvolvimento e validação
Após a avaliação dos riscos, é selecionado u m modelo de desenvolvimento para o sistema.
Se os riscos de segurança forem a principal consideração, o desenvolvimento baseado em transformações formais pode ser o processo mais adequado, e assim por diante
Se o principal risco identificado for a integração de subsistemas, o modelo em cascata pode ser a melhor opção.
Definição de objetivos
Objetivos específicos para essa fase do projeto são definidos
Restrições ao processo e ao produto são identificadas, e um plano de gerenciamento detalhado é elaborado
Os riscos do projeto são
identificados.
Planejamento
O projeto é revisado, e uma decisão é tomada a respeito da continuidade do modelo com mais
uma volta da espiral. Caso se decida pela continuidade, planos são elaborados para a próxima fase do projeto.
Entrega Incremental
é uma abordagem para desenvolvimento de software na qual alguns dos
incrementos desenvolvidos são entregues ao cliente e implantados para uso em um ambiente operacional.
Definir esboço
de requisitos
Atribuir requisitos
aos incrementos
Projetar arquitetura
de sistema
Desenvolver incrementos
de sistema
Validar
incrementos
1 more item...
Rational Unified Process (RUP)
exemplo de modelo de processo moderno, derivado de trabalhos sobre a UML e o Unified Software Development Process. É um exemplo de um processo híbrido
PERSPECTIVAS
Perspectiva estática, que mostra as atividades realizadas no processo.
Perspectiva dinâmica, que mostra as fases do modelo ao longo do tempo
Perspectiva prática, que sugere boas práticas a serem usadas durante o processo.
FASES
Construção
Elaboração
Transição
Concepção
PRÁTICAS FUNDAMENTAIS RECOMENDADAS
Usar arquiteturas baseadas em componentes
Modelar o sotrware visualmente
Gerenciar os requisitos
Verificar a qualidade do software
Desenvolver software iterativamente
Controlar as mudanças do software
Entradas de projeto
Sistema completo?
Sistema incompleto?