Produto x Processo x Projecto Aula 4 Sumário O produto – – – – – – – Âmbito desta Aula – 2 O software como produto Evolução Características Tipos Aplicações Atributos de um bom software Produto x Processo O processo – – O processo do software CMM O projecto – – – 10 Sinais de perigo no Projecto Como evitar o perigo Perguntas-chave para o seu planeamento Gestão de Projectos de SW: pessoal, produto, processo e projecto Produto de SW Estrutura de conceitos Produto cria Processo implementa Metodologia Notação (UML) exprime utiliza Técnica (Modelação) Suporta, automatiza Ferramenta (Object Domain, Rational Rose) 4 O produto O software é simultaneamente um produto – – e um veículo para o entregar – – – – 5 software de gestão pacotes de uso geral (folhas de cálculo, processadores de palavras) sistemas operativos, software de comunicação Ambientes de desenvolvimento Ferramentas CASE Evolução do software – – preocupação: – 6 aproveitamento dos recursos de hardware i.e. Eficiência do produto Hardware Caro Poder Computacional Limitado Programas simples Depois – Hardware Antes – mais barato e poderoso Software mais complexo nossa preocupação hoje: – – Satisfação dos requisitos do utilizador (produto eficaz) Baixar custos e tempo de desenvolvimento (processo eficiente) Características do software O software é um produto lógico, não físico e portanto, – não é fabricado num sentido clássico – – O software não se estraga O software é uma montagem de componentes 7 mas sim, desenvolvido contudo, ainda se faz muito software personalizado (á medida) Tipos de software 8 Genérico Feito à medida Problemas do desenvolvimento são os mesmos A diferença reside na especificação dos requisitos Aplicações do software 9 Software de sistemas Software de tempo real Software de gestão Software de engenharia e científico Software embebido Software de PC’s Software baseado na Web Software de IA Atributos de um bom software 10 Atributo Descrição Mantainability O software deve ser capaz de evoluir perante as mudanças nos requisitos Dependability Características como confiabilidade e seguridade Efficiency Aproveitamento dos recursos de hardware Usability Interfaces apropriadas do utilizador e documentação Produto x Processo 11 Se o processo é fraco, o produto vai sofrer A dependência excessiva no processo também é má A comunidade alterna a sua preocupação pelo produto e processo cada 5 ou 10 anos aprox. Acredita-se que esta dualidade manter-se-á por uns tempos Processo de SW O Processo de SW Definição: – – Estratégia de desenvolvimento do software Define a ordem de execução das fases de engenharia de software Selecção do modelo de processo – depende de Maturação do produto e o processo – – 13 Clientes e pessoal envolvido Produto requerido Ambiente da equipa de desenvolvimento Definição de actividades básicas Estimação de recursos para cada função do produto Decomposição do processo Níveis de Maturidade do Processo CMM – Capability Maturity Model – Nível 1 – Nível 2 – Qualidade de SW | processos são bem geridos Definem Métricas e estimações Nível 5 14 Documentação | já existe um processo definido Utiliza padrão ISO 9001 Nível 4 – Reutilização | identifica processos repetitivos Nível 3 – Caos | nível inicial + difícil | Optimização dos Processos poucas empresas de desenvolvimento de SW atingem este nível Projectos de SW 10 Sinais de perigo no Projecto 1. 2. 3. 4. 5. 16 O pessoal de software não percebe as necessidades do cliente A definição do âmbito do produto é fraca As mudanças são mal feitas Mudança na tecnologia seleccionada Necessidades do negócio mudam ou estão mal definidas 6. As datas de entrega não são realistas 7. Os utilizadores oferecem resistência 8. Perdem-se os sponsors 9. A equipa de projecto não tem as competências requeridas 10. Os gestores não aplicam boas práticas e sábias lições como evitar o perigo 17 Começar com o pé direito Manter-se com o pé direito Monitorizar o projecto Tomar decisões inteligentes Realizar análise post-mortem perguntas-chave para o seu planeamento 18 Por que se vai desenvolver o sistema? O que será feito e quando? Onde estão os responsáveis? Como será realizado o trabalho técnico e de gestão? Quais e quantos recursos são requeridos? próxima semana que houver aula Modelos de processo Tipos: – Modelos em cascata – – – Construção de Protótipos Desenvolvimento Rápido de Aplicações Modelos evolutivos – 20 Incrementais Iterativos Iterativos e incrementais Espiral Modelo de Processos OO – Sequêncial (Clássico) Revisto Modelo recursivo/paralelo Outros