1) PRESSMAN, S. ROGER. Engenharia de Software. Sexta Edio. 2) KOSCIANSKI, ANDRE; SOARES, MICHEL DOS SANTOS. Qualidade de Software. Editora: Novatec. 2007. 3) LAUDON, JANE PRICE; LAUDON, KENNETH C. Sistemas de Informao Gerenciais Administrando a Empresa Digital. 5 Edio. Ed. Prentice Hall Brasil. 584 pg. 2003.
Processo
Processo de software
Um roteiro que o ajuda a criar a tempo um resultado de alta qualidade Passos previsveis Os engenheiros de software Fornece estabilidade, controle e organizao para uma atividade que pode, se deixada sem controle, tornar-se bastante catica.
Quem faz?
Porque importante?
Processo
Qual o produto?
Programas Documentos e dados produzidos em conseqncia das atividades e tarefas definidas pelo processo
Documentando o projeto
Justificativas do projeto Formatos dos menus e de outras formas de display nas telas Interface para uso de pessoas: teclas de funo, descries de tela sensvel ao toque, layout de teclados, uso de mouse ou joystick Formatos dos relatrios
Documentando o projeto
Entrada de informaes: onde os dados se originam, como so formatados e em que mdia so armazenados Sada: para onde os dados so enviados, como so formatados e em que mdia so armazenados Caractersticas funcionais gerais
Documentando o projeto
Processo
Um processo define quem est fazendo o qu, quando, e como para alcanar um certo objetivo.
Jacobson
Ivar
Comunicao:
Alta comunicao e colaborao com o cliente (e outros interessados) Levantamento de requisitos e outras atividades relacionadas
Planejamento:
Modelagem:
Criao de modelos que permitam ao desenvolvedor e ao cliente, entender melhor os requisitos do software e projeto que vai satisfazer a esses requisitos.
Construo
Implantao
Pequenos programas Criao de grandes aplicaes para a Internet Engenharia de grandes e complexos sistemas
Modelagem:
Anlise
Levantamento, elaborao, negociao, especificao e validade de requisitos Projeto de dados, projeto arquitetural, projeto de interface e projeto de componentes
Projeto
Permite a equipe de software avaliar o progresso com base no plano de projeto e tomar a ao necessria para manter o cronograma (qual e com
que intensidade desenvolver determinada atividade)
Buscando descobrir e remover erros antes que sejam propagados Gerencia os efeitos das modificaes Defini critrios para reutilizao, inclusive de componentes de software.
Gesto de reusabilidade
Reviso de projetos
reunio com clientes e usurios a fim de validar o projeto conceitual apresentar a viso geral do projeto tcnico aos desenvolvedores Programadores apresentam seus planos sobre seus projetos antes da implementao
O projeto uma soluo para o problema? O projeto modular, bem-estruturado e fcil de entender? Alguma coisa pode ser feita para melhorar a estrutura e a facilidade de compreenso do projeto? O projeto pode ser migrado para outras plataformas? O projeto pode ser reutilizado?
O projeto fcil de modificar ou expandir? O projeto permite que os testes sejam realizados com facilidade? O projeto maximiza o desempenho quando apropriado? O projeto reutiliza componentes a partir de outros projetos quando apropriado? Os algoritmos so adequados ou podem ser aprimorados?
Se o sistema tiver de ser desenvolvido em fases, as interfaces para as fases so boas o suficiente para que haja uma fcil transio entre as mesmas? O projeto est bem documentado, incluindo as opes de projeto e suas justificativas? O projeto faz referncia cruzada dos componentes e dados com os requisitos? O projeto utiliza tcnicas apropriadas para o tratamento de defeitos e para evitar a ocorrncia de falhas?
Marco e atividades
Atividade: parte do projeto que acontece ao longo de determinado perodo Marco: finalizao de uma atividade a momento especfico no tempo Precursor: evento ou conjunto de eventos que deve ocorrer antes de a atividade comear Durao: tempo necessrio para completar a atividade Data prevista: aquela na qual a atividade deve estar concluda
anlise de requisitos projeto do sistema projeto do programa implementao do programa teste treinamento manuteno garantia da qualidade
Escolhendo o pessoal
aplicaes semelhantes ferramentas ou linguagens semelhantes tcnicas semelhantes ambiente de desenvolvimento semelhante
Treinamento Capacidade para se comunicar com outras pessoas Capacidade para compartilhar responsabilidades Habilidades de gerenciamento
Estilos de trabalho
Extrovertidos: tendem a afirmar suas idias Introvertidos: pedem sugestes Intuitivos: baseiam suas decises nos sentimentos Racionais: baseiam suas decises em fatos
Organizao do projeto
Depende
da experincia e do estilo de trabalho dos membros da equipe do nmero de pessoas na equipe dos estilos de gerenciamento dos clientes e desenvolvedores programador-chefe da equipe Abordagem sem influncia do ego
Exemplos:
Gerenciamento de riscos
Impacto do risco: perda associada de um evento Probabilidade do risco: a probabilidade de o evento ocorrer Controle do risco: grau em que podemos mudar o resultado
Evitar o risco: modificar os requisitos quanto ao desempenho ou funcionalidade Transferir o risco: transferir o risco a outros sistemas ou realizar um contato seguro Assumir o risco: aceitar o risco e control-lo
Influncia da reduo do risco = exposio ao risco antes da reduo exposio ao risco depois da reduo pelo custo da reduo do risco
Pessoal insuficiente Cronogramas e oramentos no realistas Desenvolvimento das funes de softwares erradas Desenvolvimento de uma interface com o usurio inadequada Simplificao dos requisitos Fluxo contnuo de modificaes nos requisitos Insuficincia nas tarefas realizadas externamente Insuficincia nos componentes fornecidos externamente Insuficincia no desempenho em tempo real Exceder a capacidade da cincia da computao
Escopo do projeto Cronograma do projeto Organizao da equipe do projeto Descrio tcnica do sistema Padres, procedimentos, tcnicas e ferramentas do projeto Plano de garantia da qualidade Plano de gerncia de configurao
Plano de documentao Plano de gerncia de dados Plano de gerncia de recursos Plano de testes Plano de treinamento Plano de segurana Plano de gerncia de riscos Plano de manuteno
Estabelecendo marcos
Objetivos: Por que o sistema est sendo desenvolvido? Marcos e cronogramas: O que deve ser feito e quando?
Modelos de Processo
Melhorar a qualidade:
Modelos de Processo
Abordagem mais informal (porm, no menos efetiva) Manobrabilidade (agenciar) Adaptabilidade Aplicaes Web
Comentrios e Dvidas