INF 1301 Programação Modular
|
|
|
- Inês Gomes Prado
- 8 Há anos
- Visualizações:
Transcrição
1 INF 1301 Programação Modular Turmas INF1301 turma 3WA Sala: L216 Prof. Alessandro Garcia INF1301 turma 3WB Prof. Flavio Bevilacqua Página da disciplina: Atendimento: Turma Prof. Alessandro Garcia - por [email protected] Turma Prof. Flavio Bevilacqua: apenas utilizando o - [email protected]
2 Apresentação 2 Apresentação da disciplina 1. Ementa Módulos, Interfaces, Acoplamento. Construção e uso de Bibliotecas; compilação independente e em separado. Tipos Abstratos de Dados; independência entre especificação e implementação. Princípios de Orientação a Objetos; programação orientada a eventos, amarração dinâmica. Tratamento de exceções. Princípios de testes de programas. 2. Objetivo Espera-se que, ao concluir a disciplina, o aluno saiba projetar, implementar, controlar a qualidade de módulos e integrá-los, produzindo, rotineiramente, e com elevada produtividade, programas modulares de qualidade assegurada. Espera-se que o aluno desenvolva módulos corretos por construção, fugindo da usual seqüência de múltiplas tentativas e erros. Espera-se, ainda, que o aluno entenda como trabalhar em equipe. Finalmente, espera-se que o aluno entenda como organizar os programas e coordenar o seu desenvolvimento em um contexto em que ocorram alterações, tanto as devidas a evoluções do programa, como as decorrentes de especificações incorretas ou ambíguas. 3. Descrição Programação modular é a base para se desenvolver programas de porte médio a muito grande. Através de um particionamento judicioso do programa em módulos possibilita-se o trabalho em equipe, facilita-se a gerência do desenvolvimento, facilita-se o controle e a garantia de qualidade, possibilita-se o reúso de módulos já desenvolvidos, viabiliza-se a criação de bibliotecas de componentes, e possibilita-se a redução do tempo necessário para se dispor do programa. Outra preocupação constante ao desenvolver programas é a garantia da qualidade. Para produzir programas de boa qualidade e que possam ter uma vida útil longa, é necessária uma atitude visando produzir módulos isentos de defeitos. É fato conhecido que módulos desenvolvidos sem o devido cuidado dificilmente atingirão níveis de qualidade satisfatórios. Por outro lado, desenvolver módulos de boa qualidade usualmente acaba sendo bem mais barato do que desenvolvê-los sem preocupação com qualidade. A programação modular apresenta diversos problemas. A seguir apresentamos uma lista que, embora longa, não pretende ser exaustiva: Como particionar um programa em módulos? Como particionar um programa em módulos de modo que uma parcela significativa dos módulos possa ser efetiva e eficazmente reutilizada em vários programas? Como desenvolver módulos reutilizáveis visando o estabelecimento de um conjunto de ativos (assets) que possam ser reutilizados em um grande número de projetos, constituindo, assim, a uma vantagem competitiva para a organização? Como especificar cada um dos módulos? Como explicitar e especificar a interface de cada um dos módulos? Como minimizar e simplificar as interfaces dos módulos? Como assegurar a qualidade de cada um dos módulos? Como assegurar a qualidade dos construtos 1 compostos a partir da integração de diversos módulos? Como viabilizar o desenvolvimento independente de cada módulo, possivelmente realizado por pessoas diferentes, talvez até desconhecidas umas das outras? Como coordenar o trabalho de desenvolvimento em equipe? 1 Construto é uma implementação parcial de um programa, permitindo avaliar e, possivelmente, utilizá-lo de forma produtiva.
3 Apresentação 3 Como organizar módulos de modo que sejam facilmente alterados, mesmo por pessoas que não tenham participado de seu desenvolvimento? Como manter a coerência entre os módulos à medida que forem ocorrendo alterações? Nesta disciplina serão focalizadas técnicas de projeto, implementação, teste, e integração de módulos formando programas. Serão abordadas, ainda, padrões e critérios de qualidade, visando a construção de módulos bem documentados e corretos por construção. Finalmente, será utilizado um processo de desenvolvimento, visando disciplinar as atividades realizadas ao desenvolver programas. Foge ao escopo desta disciplina estudar os problemas relacionados com a especificação de requisitos e a arquitetura de programas. Embora sejam estudados os princípios básicos de orientação a objetos, foge ao escopo da disciplina estudar técnicas de análise e projeto de sistemas implementados utilizando orientação a objetos. Estes assuntos, embora fortemente relacionados com programação modular, extrapolam o limite desejável para uma disciplina com um semestre de duração. São tipicamente estudados em disciplinas tais como Projeto de Sistemas de Software. Para facilitar a integração com disciplinas específicas, procuramos dar indicações de como a programação modular interage com os problemas de arquitetura de programas e de projeto orientado a objetos Tópicos A disciplina é particionada em quatro grandes áreas, a saber: Processo de desenvolvimento. Tecnologia de apoio à modularidade. Técnicas visando o desenvolvimento de programas modulares. Teste e composição de programas. Na área Processo de desenvolvimento introduzimos a noção de processo, de organização do trabalho e de qualidade de software. Temos por objetivo familiarizar o aluno com técnicas de prevenção de defeitos através do uso de padrões de programação. Estas técnicas são bastante eficazes, sendo fundamentais ao produzir artefatos que não podem ser adequadamente testados. Queremos conscientizar o aluno que qualidade é muito mais um problema de atitude a ser observada ao longo de todo o desenvolvimento, ao invés de ser o resultado da aplicação maquinal de um conjunto de técnicas. Os tópicos desta área são distribuídos sobre o conjunto de aulas, ou seja, não é formado por um bloco de aulas identificável isoladamente. É formado por conceitos distribuído sobre diferentes aulas. Na seção Tecnologia de apoio à modularidade introduzimos os conceitos básicos envolvendo programas modulares. São vistos tanto o paradigma procedural convencional como, de forma resumida, o paradigma orientado a objetos. Esperamos que o aluno venha a dominar os conceitos básicos e operacionais do desenvolvimento de programas modulares, nos quais módulos implementam noções (tipos abstratos de dados, classes, funções) bem definidas. O aluno deverá ser capaz de compreender as especificações do conjunto de módulos que compõem um programa, produzir estes módulos, compilá-los e compor o programa com sucesso, mesmo em um contexto em que as especificações evoluam no tempo. Tópicos: Princípios de modularidade discute os conceitos relativos a módulos e interfaces entre módulos. É dada ênfase especial às interfaces, pois estas são os pontos de toque de qualquer projeto modular bem sucedido. É brevemente abordado o papel e a necessidade da arquitetura de programas. Teste automatizado de módulos discute os conceitos de teste automatizado e apresenta um arcabouço de apoio ao teste automatizado de módulos redigidos em C. O teste automatizado permite a repetição dos testes e auxilia no desenvolvimento incremental de módulos e programas. Implementação da programação modular mostra como implementar interfaces bem definidas nas diferentes linguagens de programação. É mostrado como transferir para o processador de linguagem o máximo possível do controle da integração dos módulos. Apesar do ponto de vista utilizado ser específico para a linguagem C, os conceitos aplicam-se a uma variedade de outras linguagens, entre elas C++, C# e Java. Ferramentas de apoio ao desenvolvimento apresenta as ferramentas básicas utilizadas em ambientes de engenharia de software, em particular em ambientes visando o desenvolvimento de programas modulares. As ferramentas são apresentadas junto com a descrição de um processo físico em que são utili-
4 Apresentação 4 zadas. O objetivo é familiarizar o aluno com a idéia de um processo definido e apoiado em ferramentas. Julgamos ser necessário programadores conhecerem estas ferramentas, mesmo sabendo que costumam estar embutidas nos ambientes de programação disponíveis no mercado. Entre as ferramentas encontram-se algumas visando a automação dos testes e o apoio ao desenvolvimento incremental. Estrutura de funções examina organizações de programas baseadas em funções. Além de estruturas de funções propriamente são discutidos o particionamento de algoritmos extensos em estruturas de funções, o tratamento de exceções no contexto de estruturas de funções, e as técnicas de projeto de algoritmos baseados em esquemas de algoritmos contendo pontos a serem instanciados. Algoritmos com estas características permitem desenvolver módulos corretos que independem das estruturas de dados efetivamente manipuladas. Embora o foco seja o de estruturas de funções, procuramos sempre utilizar, de forma subjacente, o paradigma orientado a objetos ao projetar os módulos compostos por funções. Na seção Técnicas visando programas modulares apresentamos técnicas de especificação, projeto e codificação de programas modulares tendo por objetivo produzir módulos que possuam qualidade satisfatória por construção. Nesta seção seguimos a forma de desenvolvimento tradicional do mais geral para o mais detalhado. Especificação de módulos discute o que vem a se uma boa especificação de um módulo. São apresentadas regras e recomendações a serem observadas pelas especificações e pela documentação dos módulos. Espera-se que ao final deste capítulo, o aluno não só esteja convencido da necessidade de se produzir e documentar especificações, como também saiba como produzir uma boa especificação ou transformar uma especificação de qualidade duvidosa em uma boa especificação. São utilizadas técnicas de especificação baseadas em linguagem natural. Qualidade estrutural apresenta regras e recomendações relativas a estruturas em geral, e interfaces e estruturas de projeto de módulos em particular. Tais estruturas aparecem sempre que se desenvolve um artefato composto. Os conceitos introduzidos neste capítulo podem ser adaptados a outros tipos de artefatos, tais como documentos, auxílios (help) e tutoriais. Os elementos usados ao desenvolver programas são tipicamente estruturas, tais como estruturas de módulos, estruturas de classes, estruturas do código que compõe um algoritmo, estruturas de dados. Estruturas aparecem como conseqüência de passos de projeto que transformam uma especificação em uma solução composta. As regras e recomendações procuram induzir uma atitude de contínua avaliação dos passos de projeto e das especificações de interface dos elementos criados durante os passos de projeto. Esta atitude previne uma grande gama de faltas e deficiências cuja remoção tende a ser cara e demorada quando realizada tardiamente. Introdução à argumentação da corretude apresenta algumas das técnicas utilizadas ao provar a corretude de algoritmos e estruturas de dados. O objetivo é habilitar o aluno a redigir pré e pós-condições (assertivas) usando uma abordagem formal. As técnicas são apresentadas sob a ótica de um processo construtivo a ser praticado passo a passo ao projetar a composição interna de funções, classes, estruturas de dados complexas e módulos. Utilizando as técnicas apresentadas, o aluno deverá ser capaz de argumentar a corretude de algoritmos, formular casos teste e localizar, com precisão, as faltas existentes no programa. Habilitando o aluno a utilizar um raciocínio lógico, espera-se que sejam prevenidos erros de programação e que seja facilitada a localização e remoção completa dos defeitos remanescentes nos diversos módulos que constituem um programa. Na seção Testes e composição de programas discutimos assuntos relacionados com teste de módulos e de integração de módulos formando programas completos. São examinadas técnicas de teste elementares, sendo dada ênfase em testes de módulos que implementam estruturas de dados. Apresentamos técnicas de instrumentação com o intuito de criar programas robustos e de transferir para o computador uma parte substantiva do esforço de teste e de avaliação dos resultados dos testes. Já no decorrer do curso são utilizadas extensivamente técnicas de teste automatizado. O teste de módulos está intimamente relacionado com a integração de módulos, formando sucessivos construtos cada qual mais abrangente que o anterior até que se disponha do programa completo. A composição de módulos deve levar em conta a versão de cada componente de modo que se assegure consistência entre todos eles. Tópicos: Instrumentação de módulos apresenta técnicas para a incorporação de instrumentos em módulos. Alguns destes instrumentos têm por objetivo automatizar a realização de testes. Outros têm por objetivo analisar a cobertura dos testes. Finalmente, outros têm o propósito de tornar robustos os programas. Esta última classe de instrumentos baseia-se na inclusão de assertivas executáveis nos módulos, integrando, assim, conceitos de argumentação da corretude de módulos com técnicas de teste de módulos.
5 Apresentação 5 Teste de módulos discute as técnicas mais elementares de teste de módulos. Descrevemos critérios de seleção de casos de teste que resultem em conjuntos pequenos e eficazes de casos de teste, e que serão utilizados para testar módulos e, mais especificamente, estruturas de dados. Integração de programas apresenta técnicas para o desenvolvimento incremental de programas, criando sucessivos construtos, cada qual implementando uma parte maior da funcionalidade do programa Livro texto Staa, A.v.; Programação Modular; Rio de Janeiro: Campus; Referências bibliográficas complementares 1) Souza, J.N.; Lógica para Ciência da Computação; Rio de Janeiro: Campus; ) Algum livro que trate da linguagem de programação C, exemplos: Schildt, H.; C Completo e Total; 3a. edição; Makron; 1996 Kelley, A.; Pohl, I.: Programming in C; Fourth Edition; Addison Wesley Longman; ) Fowler, M. et al; Refactoring: Improving the Design of Existing Code; Addison-Wesley, Versão em Português: Fowler, M.; Refatoração: Aperfeiçoando o Projeto de Código Existente; Bookman, Critério de aprovação A disciplina INF 1301 Programação Modular adota o critério da categoria III da resolução 1/2005, copiada a seguir: Categoria III - A avaliação do aproveitamento feita pelo professor será expressa por meio de dois graus de qualificação, apresentados numericamente, em escala de zero (0) a dez (10), do seguinte modo: a) o primeiro grau de qualificação, representando o aproveitamento de aluno na disciplina, será obtido através de testes, relatórios, trabalho ou uma única prova realizada no meio do período letivo ou de trabalho equivalente, tendo em vista um programa parcialmente lecionado; b) o segundo grau de qualificação, resultante de testes, relatórios, trabalho, prova ou projeto, cobrindo um programa parcialmente lecionado ou toda a matéria lecionada no período letivo. Neste grau podem ser incluídos testes e relatórios relativos a programa parcialmente lecionado; c) o Grau Final será calculado conforme um dos dois casos a seguir: 1. Se o segundo grau for maior ou igual a três (3,0), o Grau Final será a média aritmética das duas avaliações (mesmo peso). 2. Se o segundo grau for menor que três (3,0), o Grau Final será calculado tendo o primeiro grau peso um (1) e o segundo grau peso três (3). Para o cálculo desses graus serão realizados: 2 provas (todas com consulta) Não serão permitidos computadores, notebooks, celulares e demais tecnologias eletrônicas nesta consulta. 1. P1: quarta, 10/05, no local e horário de aula. A prova inclui a matéria até a aula anterior. 2. P2: quarta, 28/06, no local e horário de aula. A prova inclui a matéria de TODO o período. OBS. As datas das provas poderão variar com relação ao planejado devido a imprevistos no progresso das aulas. Mantenha-se informado consultando com freqüência a página Avisos gerais da disciplina. Cabe salientar que não comparecer a uma prova resulta na nota 0. 4 trabalhos, prazos
6 1. T1: consistirão de exercícios em algumas aulas. Apresentação 6 2. T2: segunda 08/05: implementação de módulos de apoio ou que manipulam uma estrutura de dados. Distribuição: aproximadamente 03/ T3: consistirão de exercícios em algumas aulas. 4. T4: segunda 26/06: integração dos módulos do 2o. trabalho, incluindo instrumentação e realização do teste dessa instrumentação. Distribuição: aproximadamente 19/ Cálculo do grau final A seguir é apresentada a forma de cálculo dos dois graus e do grau final: G1 = ( P1 * 2 + T1 + T2 * 2 ) / 5. G2 = ( P2 * 2 + T3 + T4 * 2 ) / 5. GrauFinal = if ( G2 >= 3. ) then ( G1 + G2 ) / 2. else ( G * G2 ) / 4. fi 2 Para ser aprovado o aluno deverá alcançar um Grau Final igual ou maior do que Trabalhos Os trabalhos serão feitos em grupos de 2 ou 3 alunos serão aceitos somente programas redigidos em C. os trabalhos serão corrigidos em acordo com o documento Critérios de Correção de Trabalhos em anexo os programas podem ser desenvolvidos em qualquer plataforma, no entanto os programas entregues para a correção devem executar em máquinas utilizando o sistema operacional Windows XT. Os programas devem ser compiláveis utilizando os compiladores MS Visual C/C Os programas serão aplicações console, ou seja, devem operar em janelas CMD (DOS) do Windows. Recomendamos especial cuidado com o teste final dos programas, assegurando que estes operem em máquina sem a infra-estrutura esperada pelo ambiente de desenvolvimento. Para cada um dos módulos de produção deverá ser desenvolvido um correspondente módulo interpretador de comandos de teste que permita automatizar o respectivo teste. Os trabalhos devem ser entregues via . caso a mensagem contenha vírus, a nota será 0 (zero). São utilizados diversos controladores de vírus. será descontado 1 ponto por dia útil de atraso (domingos e feriados não são dias úteis, sábados que não estejam marcados como feriados da PUC são dias úteis). O término de um dia é às 7 horas da manhã do dia a seguir. Por exemplo, se o trabalho for devido no dia 7 e for enviado no dia 8 antes das 7 horas, não perde ponto, após às 7 horas perde. leia com atenção o folheto de critérios de avaliação dos trabalhos em anexo. 2 Notação Algol 68.
7 Apresentação 7 5. Plano de aulas previsto Datas 1 08/03 Introdução a disciplina 2 13/03 Conceitos básicos de modularidade 3 15/03 Princípios de modularidade 4 20/03 Princípios de modularidade parte /03 Introdução à testes 6 27/03 Teste automatizado parte 1 Assunto 7 29/03 Uso e Instalação do arcabouço de testes; Ferramentas de apoio ao desenvolvimento 8 03/04 Teste automatizado parte /04 Especificação de requisitos de módulos e de funções 10 10/04 Modelagem - modelo conceitual 11 12/04 Implementação da modularidade 12 17/04 Assertivas, pré-condições, pós-condições 13 19/04 Modelagem - modelo físico 14 24/04 Padrões de programação I 15 26/04 Padrões de programação II 16 03/05 Aula de revisão 17 08/05 Entrega do T /05 1ª prova 19 15/05 Correção da prova e revisão 20 17/05 Tratamento de exceções 21 22/05 Métodos caixa-preta de teste de módulos 22 24/05 Métodos caixa-branca de teste de módulos 23 29/05 Métodos caixa-branca de teste de módulos II 24 31/05 Exercício Métodos de teste caixa-branca 25 05/06 Instrumentação I 26 07/06 Instrumentação II 27 12/06 Instrumentação III 28 14/06 Instrumentação IV 29 19/06 Dúvidas do trabalho 30 21/06 Aula de revisão 31 26/06 Entrega do T /06 2ª. Prova 33 03/07 Entrega da Correção do Trabalho 34 05/07 Entrega da Correção da Prova
8 Apresentação 8 Objetivos dos trabalhos Critérios de correção dos trabalhos O objetivo da disciplina é aprender a ler, compreender, projetar e redigir programas modulares de boa qualidade, obedecendo a um conjunto de padrões. Este aprendizado é adquirido e demonstrado através da realização de uma série de trabalhos interdependentes. O objetivo dos trabalhos não é escrever algum programa, mas, sim, é desenvolver programas modulares de boa qualidade e que comprovadamente satisfaçam massas de teste previamente estabelecidas. Também não é objetivo verificar se o aluno conhece todas as sutilezas da linguagem de programação, ou dos algoritmos empregados, no entanto é claro que se espera um domínio razoável da linguagem e dos algoritmos. Ou seja, independentemente da dificuldade, do esforço e do tempo gasto pelo aluno, o que vai ser examinado ao corrigir os trabalhos é a qualidade destes, independentemente do número de horas que o aluno possivelmente tenha levado para desenvolver os programas. De maneira geral os trabalhos são bastante trabalhosos e sua realização deve ser iniciada imediatamente ao receber o enunciado. Os enunciados deixarão margens para dúvidas. Sempre consulte o instrutor para tirálas. O objetivo disto é simular o mundo real encontrado ao desenvolver programas em empresas. O que será corrigido é o que foi entregue. Ou seja, caso sejam entregues componentes obsoletos ou errados, ou sejam esquecidos componentes, o aluno perderá os pontos correspondentes. O objetivo deste critério é induzir os alunos a tomarem cuidado ao compor a versão final a ser entregue. Entrega do trabalho Os trabalhos deverão ser entregues via . Caso a mensagem não satisfaça qualquer um dos itens a seguir: -2 pontos O assunto da mensagem (subject) deve ser: IdDiscip-Trabnn-idGrupo em que: IdDiscip é o código da disciplina, ex. INF1301 nn é o número do trabalho, idgrupo é formado por n conjuntos de duas ou três letras, cada conjunto identificando um dos n membros do grupo. Exemplo: INF1301-Trab1-JBOGESP OBS.: Num espaço de 48 horas será enviada uma resposta a quem enviou o trabalho, confirmando se o trabalho foi recebido corretamente. O texto da mensagem deve identificar cada um dos os autores fornecendo os respectivos: letras identificadoras, número de matrícula, nome e endereço . Todos os arquivos que compõem o trabalho devem estar "zipados" em um único arquivo anexado à mensagem enviada. O nome do arquivo.zip deve ser IdDiscip-Trabnn-idGrupo.ZIP conforme descrito e exemplificado acima. Para evitar a disseminação de vírus e outros tipos de mal-ware, alguns provedores não permitem a inclusão de arquivos.exe nos arquivos.zip. neste caso adicione o sufixo.txt. Exemplo, se o arquivo era Trab01.exe, rebatize-o para Trab01.exe.txt A codificação do arquivo anexado ao deve ser MIME. Para cada dia útil de atraso (domingos e feriados não são dias úteis, porém sábados e dias enforcados são dias úteis) é descontado: 1 ponto. Obs. O término de um dia é às 6 horas do dia a seguir. Por exemplo, se o trabalho era devido no dia 7 e for enviado no dia 8 antes das 6 horas, não perde ponto, após as 6 horas perde. Composição do trabalho Grupos formados por um único ou por quatro ou mais alunos: -2 pontos. Procure formar o seu grupo já na primeira aula. Leve em conta a afinidade e a disponibilidade de tempo de cada participante. O objetivo é aprender a organizar e realizar trabalho em grupo. Os trabalhos são dimensionados para 2 alunos trabalhando em grupo. Não será permitido formar grupo com alunos de outra turma. O aluno obrigatoriamente terá suas provas e trabalhos corrigidos apenas pelo professor da turma na qual está matriculado.
9 Apresentação 9 Conteúdo da mensagem com vírus resulta em nota zero Cuidado com as máquinas dos laboratórios, pois, por mais controle que se exerça, colegas ingênuos ou pouco éticos freqüentemente infectam estas máquinas. São exigidos tipicamente os arquivos a seguir. O enunciado do trabalho pode exigir arquivos e documentos complementares. Programa executável Módulos implementação fonte Módulos definição fonte Arquivo RELATORid.TXT um arquivo por membro do grupo, identificado por id registro de trabalho realizado Arquivo LEIAME.TXT explicando com se utiliza o programa. Arquivos contendo diretivas (scripts) de teste Arquivos adicionais constantes do enunciado do trabalho Se o conteúdo do arquivo ZIP estiver incompleto -2 pontos Execução básica Se o leia.me não corresponde ao comportamento do programa: -2 pontos Se o programa não corresponde ao enunciado: -8 pontos. Se o programa não corresponde a uma implementação modular: -8 pontos. Se o programa for plágio de algum outro a nota do trabalho será Zero. Se o programa.exe não existe ou não dá partida: -8 pontos OBS: Recomendamos especial cuidado com o teste final, assegurando que o programa opere em máquina sem a infra-estrutura necessária para o ambiente de desenvolvimento. Não serão abertas exceções. Caso o programa não rode em máquinas que não possuam o ambiente de desenvolvimento instalado, o grupo perderá os oito pontos. Se o programa não completa a execução (entra em loop, trava, cancela a execução, voa, etc.) em todos os testes usados: -6 pontos Se o programa não completa a execução em um ou mais dos casos de teste usados: -4 pontos. OBS. o teste será repetido para que se tenha certeza de não se tratar de uma falha fortuita do instrutor e na ficha de avaliação será descrito, em linhas gerais, como proceder para gerar a falha. O programa não executa o script de teste desenvolvido pelos instrutores no momento da correção: -3 pontos. Não foram incluídos scripts de teste produzidos pelo grupo: -2 pontos. Os scripts de teste são superficiais ou mal organizados: -1 ponto. O programa não utiliza o arcabouço (framework) de teste fornecido: -3 pontos. O objetivo é aprender a utilizar componentes fornecidos por terceiros. Outros problemas encontrados: -1 ponto por problema Código fonte e documentação Estude os padrões contidos nos apêndices do livro! Se algum dos arquivos não identificar os autores: -2 pontos Se os módulos fonte não correspondem ao programa executável: -8 pontos Se outros arquivos não corresponderem ao programa implementado:.-4 pontos O programa fonte não existe ou não foi escrito em C: a nota do trabalho será zero Comentários inexistentes ou fora dos padrões: -1 ponto Nomes dos elementos fora dos padrões -2 pontos Constantes fora dos padrões, ex.: programa utiliza literais e números mágicos ao invés de constantes simbólicas -2 pontos Módulo de definição ou módulo de implementação fora dos padrões, ex.: o módulo de implementação contém a declaração ou definição de uma ou mais variáveis globais externas; o módulo de definição não pode ser utilizado tanto para compilar o módulo servidor cuja interface define, nem para compilar os clientes desse módulo: -2 pontos Estilo do código fora dos padrões -2 pontos. OBS. caso você tenha um padrão de estilo documentado (impresso) e revisto por terceiros (ex. padrão adotado em alguma empresa) você poderá utilizá-lo, desde que entregue uma cópia do documento ao instrutor. Especificações de funções não existem -2 pontos
10 Apresentação 10 Especificações de funções estão incompletas -1 ponto Especificações de funções são inconsistentes com a implementação do elemento especificado: -2 pontos Especificações de funções mal escritas (português incorreto, ambíguo, confuso): -1 ponto Programa mal organizado -1 ponto Código duplicado, mesmo que ligeiramente alterado: -2 pontos Interfaces entre módulos, classes e funções inutilmente complexas: -1 ponto Código longo sem conter pseudo-operações: -1 ponto Código usa funções que retornam condições de funcionamento e que não são verificadas pelo programa (ex.: não verifica se malloc ou fopen retornaram NULL): -1 ponto Usualmente o enunciado contém critérios complementares! Cada um deles identificará o número de pontos perdidos caso não seja satisfeito. Observação Evidentemente o total de pontos que um aluno pode perder segundo os critérios acima é maior do que 10. Entretanto, a nota de cada trabalho é independente das notas e dos pontos perdidos em outros trabalhos. Porém, como os trabalhos são interdependentes, um primeiro trabalho mal feito pode prejudicar todos os outros. No mínimo acarretará um esforço muito maior nos trabalhos subseqüentes. Este esforço é necessário para corrigir os problemas identificados nos trabalhos anteriores. Não deixem os trabalhos para o último dia! Eles dão muito trabalho!
Programação Modular. Alessandro Garcia. DI/PUC-Rio Agosto 2016
Programação Modular Alessandro Garcia DI/PUC-Rio Agosto 2016 Programação Modular Quem sou eu? Quem são vocês? Qual é o problema abordado no curso? Qual é o objetivo do curso? Organização: aulas, avaliação
Introdução a Teste de Software
Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução a Teste de Software Prof. Luthiano Venecian 1 Conceitos Teste de software
Documentação de Software. Simone Vasconcelos
Documentação de Software Simone Vasconcelos 1 Contexto Qualquer software deve ter uma quantidade razoável de documentação.! Documentos de trabalho.! Manuais de usuário produzidos profissionalmente. Em
Processos de software
Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de
Princípios da Engenharia de Software aula 03
Princípios da Engenharia de Software aula 03 Prof.: José Honorato Ferreira Nunes Material cedido por: Prof.: Franklin M. Correia Na aula anterior... Modelos de processos de software: Evolucionário Tipos
Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa
Desenvolvimento de programas 1 Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração Análise do problema 2 Conhecer exatamente o que o problema
Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software
Engenharia de Software Aula 03 Perguntas da Aula 2 Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 12 Março 2012 Inconsistente: perguntei laranjas, respondeu
Trabalho Prático. Descrição Considere os seguintes dados a respeito de uma pessoa:
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Organização de Arquivos Profa. Dra. Cristina Dutra de Aguiar Ciferri Trabalho
RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN
RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS Prof. Fabiano Papaiz IFRN O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa
Engenharia de Software II
Engenharia de Software II Aula 4 http://www.ic.uff.br/~bianca/engsoft2/ Aula 4-03/05/2006 1 Modelos Prescritivos de Processo Modelo em cascata Modelos incrementais Modelo incremental Modelo RAD Modelos
Introdução à Programação
Introdução à Program João Manuel R. S. Tavares Sumário 1. Ciclo de desenvolvimento de um programa; 2. Descrição de algoritmos; 3. Desenvolvimento modular de programas; 4. Estruturas de controlo de um programa.
Processo Unificado (PU) Unified Process
Processo Unificado (PU) Unified Process 10 de junho de 2011 Adonai Canêz One comment Introdução O Processo Unificado (PU) surgiu para realizar o desenvolvimento de software visando a construção de sistemas
Requisitos de Software e UML Básico. Janaína Horácio
Requisitos de Software e UML Básico Janaína Horácio [email protected] Agenda Requisitos O que é? Objetivos? Atividades?... UML O que é? Modelos... Casos de Uso O que é? Componentes 2 Requisitos
ATIVIDADES PRÁTICAS SUPERVISIONADAS
ATIVIDADES PRÁTICAS SUPERVISIONADAS Tecnologia em Análise e Desenvolvimento de Sistemas 5ª. Série Programação Distribuída A atividade prática supervisionada (ATPS) é um método de ensinoaprendizagem desenvolvido
Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores
Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores 2013-2 Compilador para a Linguagem Cafezinho Especificação dos trabalhos: T2 (Geração da Representação Intermediária e Análise
Programação Aplicada de Computadores. Trabalho 1 Freecell
Programação Aplicada de Computadores Trabalho 1 Freecell 1. Objetivo O objetivo deste trabalho é implementar o jogo Freecell utilizando a estrutura de dados Pilha (stack). Freecell é um jogo de cartas
ISO/IEC 12207: Manutenção
ISO/IEC 12207: Manutenção O desenvolvimento de um sistema termina quando o produto é liberado para o cliente e o software é instalado para uso operacional Daí em diante, deve-se garantir que esse sistema
Notas de Aula 03: Introdução a Orientação a Objetos e a UML
Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas
4 Arquitetura Adotada
4 Arquitetura Adotada Neste trabalho foi desenvolvido um sistema para a inspeção de dutos de óleo, gás e outros fluidos. Este sistema está sendo usado em inspeções que utilizam como ferramenta de inspeção
ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software
ENGENHARIA DE SOFTWARE Aula 03 Processos de Software AGENDA Modelos de processo de software Atividades do processo Lidando com mudanças Rational Unified Process (RUP) 14/03/2017 IFPR QUEDAS DO IGUAÇU -
Engenharia de Software
Universidade São Judas Tadeu Prof. André Luiz Ribeiro Prof. Jorge Luis Pirolla Introdução à Computação Engenharia de Software Tópicos O que é Engenharia de Software? Engenharia de Software em camadas Processo
PROJETO DE PROGRAMAS. Projeto de Programas PPR0001
PROJETO DE PROGRAMAS Projeto de Programas PPR0001 Desenvolvimento de Software 2 3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes
Linguagens de Domínio Específico
Linguagens de Domínio Específico Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/dsl Por que DSLs? Melhorar a produtividade dos programadores input =~ /\d{3}-\d{3}-\d{4}/ Facilitar a escrita e
Conceitos básicos de programação
Especificação de comandos Objectivo: O objectivo da especificação formal de comandos é a necessidade de assegurar a correcção dos comandos a desenvolver. Torna-se necessário desenvolver uma metodologia
Introdução a UML (Unified Modeling Language)
Introdução a UML (Unified Modeling Language) O que é a UML? Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário
Gerência de Projetos e Qualidade de Software. Prof. Walter Gima
Gerência de Projetos e Qualidade de Software Prof. Walter Gima 1 Plano de Ensino e Aprendizagem 2 3 Objetivos CONTEÚDO Se preparar para o inicio de um projeto Acompanhamento projeto Controles Métricas
IV. CONTEÚDO PROGRAMÁTICO
I IDENTIFICAÇÃO CURSO: Ciência da Computação DISCIPLINA: Prática de Programação Orientada a objetos CARGA HORÁRIA SEMESTRAL: 40 h/a PROF. RESPONSÁVEL: Míriam de Souza Monteiro II. EMENTA Classes e objetos.
Prof. Esp. Fabiano Taguchi
UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com [email protected] UML COMPETÊNCIA: Conhecer e desenvolver estudos de caso usando modelagem orientada a objeto. HABILIDADE: Conhecer
Sistema Rodoviário Tabajara
Universidade Federal do Espírito Santo Departamento de Informática Est. de Informação (INF02827) & Est. de Dados (INF01906) 2 o Trabalho Prático Período: 2008/2 Prof a Patrícia Dockhorn Costa Email: [email protected]
Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1
Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando
Algoritmos e Programação
ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA ELÉTRICA
Documento de Requisitos SISTEMA DE APOIO À ESCRITA (SAPES)
1. Introdução 1.1 Propósito Documento de Requisitos SISTEMA DE APOIO À ESCRITA (SAPES) O propósito deste documento de especificação de requisitos é definir os requisitos do sistema SAPES - Sistema de Apoio
Introdução à Análise e Projeto de Sistemas
Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Luiz Leão [email protected] http://www.luizleao.com Questão 1 Para Sommerville a arquitetura de sistemas descreve o sistema em termos de um conjunto de unidades
Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2
Processos de Desenvolvimento de Software Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2 A Engenharia de Software Uma Tecnologia em Camadas Gerenciamento da Qualidade Total e filosofias
O que é um sistema distribuído?
Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores
Verificação e Validação. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1
Verificação e Validação Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1 Objetivos Apresentar a verificação e validação de software e discutir a distinção entre elas Descrever
RESOLUÇÃO CONSEPE 46/99 ALTERA O PLANO CURRICULAR E O REGIME DO CURSO DE ENGENHARIA DE COMPUTAÇÃO, DO CÂMPUS DE ITATIBA.
RESOLUÇÃO CONSEPE 46/99 ALTERA O PLANO CURRICULAR E O REGIME DO CURSO DE ENGENHARIA DE COMPUTAÇÃO, DO CÂMPUS DE ITATIBA. O Presidente do Conselho de Ensino, Pesquisa e Extensão - CONSEPE, no uso da atribuição
Segundo trabalho prático de implementação Sistema de reserva de assentos
Segundo trabalho prático de implementação Sistema de reserva de assentos 1. Descrição do problema Computação Concorrente (MAB-117) 2016/2 Prof. Silvana Rossetto 1 DCC/IM/UFRJ 17 de novembro de 2016 Um
Universidade Estadual de Ponta Grossa PRÓ-REITORIA DE GRADUAÇÃO DIVISÃO DE ENSINO
Universidade Estadual de Ponta Grossa PROGRAMA DE DISCIPLINA SETOR: CIÊNCIAS AGRÁRIAS E DE TECNOLOGIA DEPARTAMENTO: INFORMÁTICA DISCIPLINA: PROJETO DE SISTEMAS DE INFORMAÇÃO CÓDIGO: 203094 Nº de aulas
Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES
Paradigmas da Engenharia de Software AULA 03-04 PROF. ABRAHAO LOPES Introdução O processo de software é visto por uma sequência de atividades que produzem uma variedade de documentos, resultando em um
Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015
Manutenção de Software Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015 Processos de Ciclo de Vida de Software Processos Fundamentais Aquisição Processos de Apoio Documentação
AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.
AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos
Data Warehouse ETL. Rodrigo Leite Durães.
Data Warehouse ETL Rodrigo Leite Durães [email protected] Introdução Um dos desafios da implantação de um DW é a integração dos dados de fontes heterogêneas e complexas, padronizando informações,
SSC-546 Avaliação de Sistemas Computacionais
QUALIDADE DE PACOTE DE SOFTWARE SSC-546 Avaliação de Sistemas Computacionais Profa. Rosana Braga (material profas Rosely Sanches e Ellen F. Barbosa) Qualidade de Produto de Software Modelo de Qualidade
Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software
Reuso de Software Aula 04 Agenda da Aula Arquitetura de Software e Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 14 Março 2012 Arquitetura de Software Padrões arquiteturais
RUP RATIONAL UNIFIED PROCESS
O que é RUP? É um metodologia para gerenciar projetos de desenvolvimento de software que usa a UML como ferramenta para especificação de sistemas. Ele é um modelo de processo híbrido Mistura elementos
Guia do Processo de Teste Metodologia Celepar
Guia do Processo de Teste Metodologia Celepar Agosto de 2009 Sumário de Informações do Documento Documento: guiaprocessoteste.odt Número de páginas: 11 Versão Data Mudanças Autor 1.0 26/12/07 Criação.
Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator
Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Ederson Evaristo Jantsch Orientador: Marcel Hugo 09/07/2002 Roteiro Introdução Aplicação multicamadas Tecnologias
Fundamentos da programação Parte - 1
Fundamentos da programação Parte - 1 1. Objetivos Nesta lição discutiremos as partes básicas de um programa em Java. Começaremos explicando as partes do programa Hello.java mostrado na última lição. Discutiremos
Trabalho Prático 2 Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas
Disciplina: Algoritmos e Estrutura de Dados I CIC / 9 Trabalho Prático Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas Valor:,5 pontos (5% da nota total) Documentação não-latex: -, pontos Impressão
Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan
Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada
Trabalho de Programação 2 Processador CESAR
Trabalho de Programação 2 Processador CESAR 1. Descrição Geral A empresa TABLETEROS S.A. assinou um contrato milionário de fornecimento de ultrabooks e teve que aumentar o número de estantes. Agora, a
Teste de Software Parte 2. Prof. Jonas Potros
Teste de Software Parte 2 Prof. Jonas Potros Conteúdos Processo de Teste Planejamento de Teste Processo de Teste Independentemente da fase de teste, o processo de teste inclui as seguintes atividades:
Métodos de implementação de linguagens. Kellen Pinagé
Métodos de implementação de linguagens Kellen Pinagé Sumário Métodos de implementação de linguagens Compilação Interpretação pura Híbrido Métodos de implementação de linguagens Principais componentes de
Introdução ao Python. Programa Computacional
Programa Computacional É um algoritmo escrito em uma linguagem computacional (C, Fortran, Pascal, MATLAB, Python, etc.). É a tradução do algoritmo para uma linguagem que será interpretada pelo computador.
ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA /1
ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA - 2008/1 DC 9481 03/10/07 Rev. 00 1. Dados Legais Autorizado pelo Parecer 278 do Conselho
Programação Orientada a Objetos - 3º semestre AULA 01 Prof. André Moraes
Pág 3 Programação Orientada a Objetos - 3º semestre AULA 01 Prof. André Moraes 1 APRESENTAÇÃO DA UNIDADE CURRICULAR A unidade curricular de Programação Orientada a Objetos tem por objetivo promover o estudo
P R O J E T O: C A R N A V A L. 2. Informações Básicas sobre o Sistema a ser Desenvolvido
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri P R O J E T
Rational Unified Process (RUP)
Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que
Gerência de Projetos e Qualidade de Software. Prof. Walter Gima
Gerência de Projetos e Qualidade de Software Prof. Walter Gima 1 OBJETIVOS Compreender o processo de gerenciamento de qualidade e as principais atividades do processo de garantia, planejamento e controle
Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos. Prof. Bruno Moreno
Engenharia de Software Aula 2.1 Introdução à Engenharia de Requisitos Prof. Bruno Moreno [email protected] Engenharia de Requisitos É, talvez, o maior problema da indústria de SW; Está relacionada
MATRIZ CURRICULAR BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO. 1º Período
MATRIZ CURRICULAR BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO 1º Período Código Disciplina CHT 1 CHP 2 CH Total Pré-requisitos Dados I 40 40 80 - Cálculo I 80-80 - Fundamentos da Computação 40-40 - Fundamentos
TESTES DE SOFTWARE Unidade 1 Importância do Teste de Software. Luiz Leão
Luiz Leão [email protected] http://www.luizleao.com Conteúdo Programático 1.1 - O teste nas fases de vida e de desenvolvimento de um software. 1.2 - O teste na engenharia de sistemas e na engenharia de
Conteúdo Programático
Ementa do Curso O treinamento ios+swift Intro foi criado pela Catteno com o intuito de introduzir os alunos em programação de Apps para a plataforma ios (tablets e smartphones), utilizando a linguagem
Programação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 03 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 03 PROFª BRUNO CALEGARO Santa Maria, 13 de Setembro de 2013. Revisão aula anterior Processo de software Um modelo de processo de software consiste
UNIVERSIDADE PAULISTA UNIP INSTITUTO DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE ENGENHARIA MECÃNICA / ENGENHARIA MECATRÔNICA
1 UNIVERSIDADE PAULISTA UNIP INSTITUTO DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE ENGENHARIA MECÃNICA / ENGENHARIA MECATRÔNICA ATIVIDADES PRÁTICAS SUPERVISIONADAS (Orientações para a realização das APS dos
Teste de Software. Prof. Camila. Pedro de Assis Sobreira Jr.
Teste de Software Prof. Camila Pedro de Assis Sobreira Jr. 2 Técnicas de Testes Técnica de Teste Funcional Técnica de Teste Estrutural 3 Testes Funcionais Teste de Especificação de Requisitos. Teste de
Programação orientada a objetos
J100 com Programação orientada a objetos TM SE Helder da Rocha ([email protected]) argonavis.com.br 1 Objetivos Este curso tem como objetivo iniciá-lo em Java... mas não apenas isto Visa também a ajudá-lo
Levantamento, Análise e Gestão Requisitos. Aula 03
Levantamento, Análise e Gestão Requisitos Aula 03 Agenda Paradigma da Orientação a Objetos Classes e objetos Abstração Encapsulamento Herança e polimorfismo Associação de objetos Coesão e acoplamento Levantamento
Processo de desenvolvimento de sistema de informação - DSI
- DSI Fases do processo de Desenvolvimento de Sistemas Informação Estudo da viabilidade Engenharia de requisitos Desenho (Modelagem) Codificação Testes e Implantação Estudo da viabilidade Estudo preliminar
Plano de Ensino. Identificação. Curso EngE.INT - Engenharia de Energia. Ênfase. Disciplina B161S - Introdução à Ciência da Computação I
Plano de Ensino Curso EngE.INT - Engenharia de Energia Ênfase Identificação Disciplina B161S - Introdução à Ciência da Computação I Docente(s) Ricardo Luiz Barros de Freitas Unidade Câmpus Experimental
Plano de testes. Norma ANSI/IEEE para Documentação de Teste de Software define plano de testes como:
Plano de testes Norma ANSI/IEEE 829-1998 para Documentação de Teste de Software define plano de testes como: Um documento que define o âmbito, abordagem, recursos e escalonamento (planeamento) das atividades
RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp
RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp [email protected] 1. Introdução É um processo proprietário de Engenharia de software criado pela Rational Software Corporation,
MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO
MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO Sumário PREFÁCIO...3 MODELO DA DOCUMENTAÇÃO...3 1. INTRODUÇÃO AO DOCUMENTO...3 1.1. Tema...3 2. DESCRIÇÃO
Programação Estruturada Orientada a Objetos
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: [email protected] [email protected]
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA IMPLEMENTAÇÃO
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA IMPLEMENTAÇÃO Nickerson Fonseca Ferreira [email protected] Introdução 2 É o processo de tradução
Técnicas para Reutilização de Software
DCC / ICEx / UFMG Técnicas para Reutilização de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de
PROGRAMAÇÃO I. Introdução
PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação
CASOS DE TESTE PALESTRANTE: MARCIA SILVA [email protected] WWW.EMERSONRIOS.ETI.BR
CASOS DE TESTE PALESTRANTE: MARCIA SILVA [email protected] WWW.EMERSONRIOS.ETI.BR CONCEITOS BÁSICOS - TESTES O que é Teste de Software? Teste é o processo de executar um programa com o objetivo
