Como é o desenvolvimento de Software?
Fases do Desenvolvimento Modelo Cascata Define atividades seqüenciais Outras abordagens são baseadas nesta idéia Especificação de Requisitos Projeto Implementação Testes Manutenção
Fases do Desenvolvimento Modelo Cascata Define atividades seqüenciais Outras abordagens são baseadas nesta ideia Especificação de Requisitos Projeto Implementação Testes Manutenção
Especificação de Requisitos Um sistema de programação deve satisfazer as necessidades de seus usuários Tais necessidades são expressas na forma de requisitos Requisito = ação que deve ser executada pelo sistema Ex: registrar as notas dos alunos, calcular a média final, etc.
Fases do Desenvolvimento Modelo Cascata Define atividades seqüenciais Outras abordagens são baseadas nesta ideia Especificação de Requisitos Projeto Implementação Testes Manutenção
Da Análise ao Projeto A partir do documento de análise de requisitos, projeta-se o sistema PROBLEMA 1ª Fase: Resolução do Problema Encontrar Solução Programa de Computador 2ª Fase: Implementação (codificação)
Projeto do Sistema Dividido em duas etapas Projeto Preliminar define a estrutura modular do software, as interfaces e as estruturas de dados utilizadas Saída: Diagramas Projeto Detalhado descreve detalhadamente cada módulo definido no projeto preliminar Saída: algoritmos
Projeto de uma Casa
Projeto Preliminar de Software
Fases do Desenvolvimento Modelo Cascata Define atividades seqüenciais Outras abordagens são baseadas nesta idéia Especificação de Requisitos Projeto Implementação Testes Manutenção
Implementação do Sistema A implementação segue as definições do projeto preliminar Transcreve as instruções do algoritmo para uma linguagem de programação Exemplos: Linguagem C, Java, Pascal...
Fases do Desenvolvimento Modelo Cascata Define atividades seqüenciais Outras abordagens são baseadas nesta idéia Especificação de Requisitos Projeto Implementação Testes Manutenção
Teste e Validação Tem por objetivo garantir que o sistema satisfaça os requisitos Consiste da realização de alguns tipos de testes para encontrar erros A inexistência de erros não representa a adequação operacional do sistema Deve ser feita a validação com o cliente
Tipos de Software
Tipos de Licenças Software Proprietário (comercial) Freeware Creative Commons Domínio Público Software Livre Software de Fonte Aberta Shareware
Freeware O autor fornece-o gratuitamente para ser usado por todos O autor detém o copyright Ele pode impor restrições ao uso O software não pode ser alterado ou redistribuído sem permissão
Domínio Público Software que não tem copyright Pode ser usado e até mesmo alterado sem permissão Tipicamente, é desenvolvido por universidades e/ou instituições de pesquisa usando subvenções do governo
Creative Commons O Creative Commons Brasil disponibiliza opções flexíveis de licenças que garantem proteção e liberdade para artistas e autores. Partindo da idéia de "todos os direitos reservados" do direito autoral tradicional o CC a transforma em "alguns direitos reservados". Todas as licenças requerem que seja dado crédito (atribuição) ao autor ou licenciante, da forma por eles especificada. disponível em http://www.creativecommons.org.br/index.php?option=com_content&task=view&id=22&itemid=35
Creative Commons Licenciamento baseado na legislação vigente. Autores gerenciam diretamente os seus direitos. Cerca de 150 milhões de obras licenciadas pelo projeto.
Creative Commons Atribuição. Você permite que outras pessoas copiem, distribuam e executem sua obra, protegida por direitos autorais derivados criadas a partir dela mas somente se for dado crédito da maneira que você estabeleceu.
Creative Commons Uso Não Comercial. Você permite que outras pessoas copiem, distribuam e executem sua obra e as obras derivadas criadas a partir dela mas somente para fins não comerciais.
Creative Commons Não à Obras Derivadas. Você permite que outras pessoas copiem, distribuam e executem somente cópias exatas da sua obra, mas não obras derivadas.
Creative Commons Compartilhamento pela mesma Licença. Você pode permitir que outras pessoas distribuam obras derivadas somente sob uma licença idêntica à licença que rege sua obra.
Creative Commons Recombinação Plus: As pessoas podem pegar e transformar pedaços do seu trabalho para qualquer fim exceto publicidade, que é proibida. Cópias nãocomerciais e distribuição (como troca de arquivos) do trabalho inteiro são permitidas.
Creative Commons Uso Não-Comercial para Recombinação Plus: As pessoas podem pegar e transformar pedaços do seu trabalho somente para fins não-comerciais. Cópias não-comerciais e distribuição (como troca de arquivos) do trabalho inteiro são permitidas.
Free Software Foundation A liberdade para executar o programa, para qualquer propósito (liberdade nº 0); A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades (liberdade nº 1). Acesso ao código-fonte é um pré-requisito para esta liberdade; A liberdade de redistribuir, inclusive vender, cópias de modo que você possa ajudar ao seu próximo (liberdade nº 2); A liberdade de modificar o programa, e liberar estas modificações, de modo que toda a comunidade se beneficie (liberdade nº 3). Acesso ao código-fonte é um pré-requisito para esta liberdade;
Software Open Source Uma variação de freeware O código-fonte é disponibilizado Código-fonte: legível por seres humanos Pertence a empresa que desenvolveu Outros programadores podem modificar e redistribuir os programas livremente Ajuda a identificar erros (bugs) e a criar melhorias mais facilmente
Licença GNU GNU General Public License (Licença Pública Geral), GNU GPL ou simplesmente GPL Licença para software livre idealizada por Richard Stallman no final da década de 1980, no âmbito do projecto GNU da Free Software Foundation (FSF).
Licença BSD A licença BSD é uma licença de código aberto inicialmente utilizada nos sistemas operacionais do tipo Berkeley Software Distribution (um sistema derivado do Unix). Esta licença impõe poucas restrições quando comparada aquelas impostas por outras licenças, como a GNU General Public License ou mesmo as restrições padrão determinadas pelo copyright, colocando-a relativamente próxima do domínio público. A licença BSD tem sido chamada de copycenter, ou "centro de cópias", em comparação com o copyright padrão e o copyleft da licença GPL: "Leve até o copycenter e faça quantas cópias quiser.")
Licença MPL A licença pública Mozilla (Mozilla Public License, em inglês) é uma licença para software livre de código aberto. A advogada Mitchell Baker criou a versão 1.0 quando trabalhava na empresa Netscape Communications Corporation e a versão 1.1 quando trabalha na Mozilla Foundation. A licença é similar ao copyleft, mas não é tão rígida quanto à distribuição de trabalhos derivados. Especificamente, o código fonte copiado ou alterado sob a licença Mozilla deve continuar sob esta licença. Porém, este código pode ser combinado em um programa com arquivos proprietários. Além disso, é possível criar uma versão proprietária de um código sob a licença Mozilla. Por exemplo, o navegador Netscape 6 e 7 são versões proprietárias das versões correspondentes da suíte Mozilla.
Licença Apache A Licença Apache (Apache License em inglês) é uma licença para software livre (open source) de autoria da Apache Software Foundation (ASF). Todo software produzido pela ASF ou qualquer um dos seus projetos e sub-projetos é licenciado de acordo com os termos da licença Apache. A licença Apache (versões 1.0, 1.1 e 2.0) exige a inclusão do aviso de copyright e disclaimer, mas não é uma licença copyleft - ela permite o uso e distribuição do código fonte tanto no software open source como no proprietário
Shareware Software garantido por copyright, distribuído gratuitamente para um período experimental Se você gostar dele, deve registrá-lo, pagando uma taxa A maioria das empresas acrescenta documentação, ampliações, suporte e atualizações gratuitas para estimular as pessoas a fazer o registro
Referência H.L. Capron e J.A. Johnson. Introdução à Informática: Capítulo 2 Softwares Aplicativos. Pearson Education, 2004. http://pt.wikipedia.org/wiki/software _livre