INF2135 Processos e Ambientes de Engenharia de Software Arndt von Staa arndt at inf.puc-rio.br Departamento de Informática 2014/1 site: www.inf.puc-rio.br/~inf2135 Objetivo Capacitar os alunos a avaliar, criticar, desenvolver e pesquisar assuntos relacionados com ambientes automatizados de engenharia de software organização de processos de software instanciação de processos de software institucionalização de processos de software integração de ambientes automatizados de engenharia de software com processos Arndt von Staa LES/DI/PUC-Rio 2 1
Metodologia Embasamento: qualidade de software Estudar e contrapor: alguns ambientes de desenvolvimento de software foco em model driven development diversos processos ambientes de apoio a processos Entre os processos a serem examinados destacam-se gerência ágil: SCRUM, Kanban processos ágeis: extreme Programming processos dirigidos por planos: CMMI, mpsbr, ISO/IEC-15504 (SPICE) processos visando o uso de sistemas de informação: ITIL processos híbridos Arndt von Staa LES/DI/PUC-Rio 3 Bibliografia Livros: Boehm, B.W.; Turner, R.; Balancing Agility and Discipline: A guide for the Perplexed; Reading, Massachusetts: Addison-Wesley; 2004 Cockburn, A.; Agile Software Development; Addison-Wesley; 2002 Chrissis, M.B.; Konrad, M.; Shrum, S.; CMMI: Guidelines for Process Integration and Product Improvement; Addison-Wesley; 2003 Highsmith, J.; Agile Software Development Ecosystems; Boston: Addison-Wesley; 2002 Huizinga, D.; Kolawa, A.; Automated Defect Prevention: Best Practices in Software Management; Hoboken, New Jersey: John Wiley & Sons; 2007 Humphrey, W.S.; Introduction to the Team Software Process; New York: Addison-Wesley; 2000 Humphrey, W.S.; Personal Software Process; Addison Wesley; 1995 Persse, J.; A Basic Approach to ITIL Service Operation: Setting the Foundation for ITIL V3; Tree Of Press; Kindle Edition; 2010 SPICE - ISO/IEC-15504; 1998 Wake, W.C.; Extreme Programming Explored; Addison-Wesley; 2001 4 2
Bibliografia Periódicos e conferências ACM Software Engineering Notes Automated software engineering Computer Aided Software Engineering IEEE Software IEEE Transactions on Software Engineering Journal of Systems and Software Artigos buscados na rede disponibilizados no site por curtos períodos 5 Critério de avaliação Participação ativa nas aulas interação durante as aulas presença pontualidade 3 seminários no decorrer do semestre sobre assunto de interesse do aluno Apresentados em powerpoint Arquivos devem ser enviados para mim antes do meio-dia do dia da apresentação Relatório técnico Formato: monografia (ideal seria um artigo para o SBES) Texto word (.docx ou.doc) em formato monografia do DI A ser entregue até quarta-feira 06 de agosto de 2014 6 3
Exemplos de assuntos Características ideais de ferramentas que apoiem toda a vida do software: desenvolvimento, manutenção, engenharia reversa e a reengenharia Model driven development Ferramentas que apoiem model driven development, test maintenance Ambientes criados a partir de um conjunto integrado de ferramentas Estado da prática das ferramentas vinculadas a processos definidos Composição de processos ágeis com processos rigorosos Avaliação de processos a partir de experimentos em empresas O que ajuda e o que atrapalha chegar perto do ideal correto por construção Custo total de sistemas intensivos em software... 7 Seminário 1 Apresentações de 20 minutos apresentação + perguntas Consta de um esboço da proposta do estudo: O assunto: por que é um assunto interessante? Motivação: O que você pretende fazer ou aprender? Exemplos: estudo de caso, experimentos, resenha da literatura, observação do estado da prática, estudo teórico, modelagem Qual é a experiência profissional que você tem no assunto? O que já leu a respeito? Por que é interessante estudar esse assunto? Roteiro de trabalho ou estudo até o segundo seminário Bibliografia preliminar 8 4
Seminário 2 Apresentações de 20 minutos complementar ao 1o. seminário Versão em formato de proposta de trabalho Introdução, motivação deve ser bem curto Proposta o que será realizado Discussão confronto com o estado da arte ou da prática o que existe? O que você desconfia que pode ser melhorado? Por que? por que vale a pena o estudo / trabalho? Plano de ação para o restante do semestre Esboço (outline) do documento final Bibliografia: espera-se que o aluno tenha lido uma boa parte dela OBSERVAÇÃO: Sigam o padrão de proposta de tese que está na página da disciplina. 9 Seminário 3 Duração de 30 minutos mais 5 para perguntas Apresentação similar a uma apresentação de trabalho em um congresso ou simpósio identificação: título, autor, data motivação assunto problema específico abordado dentro deste assunto solução / elaboração suficientemente detalhada para que um não especialista entenda avaliação da solução / elaboração pontos fortes pontos fracos estado da arte ou da prática conclusão principais resultados / contribuições / o que foi aprendido pontos em aberto que merecem ser examinados no futuro bibliografia em formato padrão de dissertação ou tese da PUC-Rio folha de encerramento: autor, e-mail, título da apresentação 10 5
Monografia A monografia deve ser redigida no formato padrão de monografia do DI. Ela será avaliada como se fosse um paper submetido a um congresso: contribuição, originalidade (não precisam ser grandes ) qualidade técnica qualidade da organização ver as notas da palestra de Peyton-Jones disponíveis no site qualidade do texto (ortografia, sintaxe, clareza de exposição, formatação...) abrangência (entre 7500 e 8500 palavras, figuras == 400 palavras) citações e referências bibliográficas no padrão de dissertação da PUC-Rio deve obedecer a regras de não plágio, algumas referências: http://www-cse.ucsd.edu/users/baden/honesty.html Collberg, C.; Kobourov, S.; "Self-Plagiarism in Computer Science"; ACM Communications 48(4); New York, NY: ACM Association for Computing Machinery; 2005; pags 88-94 http://www.netshaq.com/cgiproxy/nph-proxy.cgi/011100a/http/www.acm.org/ pubs/plagiarism%20policy.html Deve ser entregue até segunda-feira 6/agosto/2014 Arndt von Staa LES/DI/PUC-Rio 11 Plano de aulas (tentativo) Datas Mód. Assunto 1 24/02 01 02 Apresentação da disciplina Processos e ambientes: Conceitos básicos 2 10/03 03 Qualidade = F( processos, ambientes ) 3 17/03 Desenvolvimento, manutenção e teste dirigidos por modelos 4 24/03 Ambientes formados por n ferramentas integradas 5 31/03 Meta-ambientes integrados 6 07/04 Seminário 1 7 14/04 Processos de gerência ágeis: Scrum, Kanban 8 28/04 Processos ágeis XP 9 05/05 Processos ágeis XP 10 12/05 Processos dirigidos por planos CMMI, MPS.BR 11 19/05 Seminário 2 12 26/05 COBIT, ITIL 13 02/06 Críticas comuns a processos dirigidos por planos 14 09/06 Processos dirigidos por planos vs. processos ágeis 15 16/06 Seminário 3 Arndt von Staa LES/DI/PUC-Rio 12 6
Convivência Pontualidade inicio as aulas às 13:10 se não tiver alunos em sala, não dou aula e considero a matéria dada Eu tenho dificuldade auditiva requer um pouco de paciência por parte dos interlocutores Apesar do problema de audição, espero que sejam feitas perguntas e que ocorra discussão entusiástica aprendizado requer participação, mais precisamente: diálogo 13 Perguntas? Arndt von Staa Departamento de Informática, PUC-Rio Sala RDC 420, ramal DI 4333 arndt *at* inf.puc-rio.br 14 7