(Versão 2.0 26/2/2014)



Documentos relacionados
RESUMO: APRESENTAÇÃO DOS RESULTADOS DO ESTUDO DE CASO:

Gestão de Projectos de Software - 1

Universidade Federal do ABC Rua Santa Adélia, Bairro Bangu - Santo André - SP - Brasil CEP Telefone/Fax:

PLANO DE ENSINO. CURSO: Sistemas de Informação PERÍODO LETIVO: SEMESTRE: 4º. C/H SEMANAL Análise, Projeto e Implementação de Sistemas I

Diagrama de Caso de Uso e Diagrama de Sequência

Planejamento da disciplina: Modelagem de processos de negócio

APLICAÇÃO DE SCRUM NO DESENVOLVIMENTO DE SISTEMAS PARA O PROGRAMA DE MONITORAMENTO DO CLIMA ESPACIAL (INPE) - ESTUDO DE CASO. André A.

Aluna: Vanessa de Mello Orientador: Everaldo Artur Grahl

Orientação a Objetos - Programação em C++

Programação Orientada a Objeto

UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática EMENTAS DA 3ª. ETAPA

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

Método Ágil aplicado ao Desenvolvimento de Software Confiável baseado em Componentes

I. Dados Identificadores Tecnologia em Análise e Desenvolvimento de Sistemas

UTILIZAÇÃO DAS METODOLOGIAS ÁGEIS XP E SCRUM PARA O DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Ferramenta para gestão ágil

Aplicando Scrum no. Vítor E. Silva Souza

SCRUM Discussão e reflexão sobre Agilidade. Fernando Wanderley

Programação para Web Artefato 01. AT5 Conceitos da Internet

Metodologias Ágeis. Aécio Costa

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix.

Um Framework para Desenvolvimento de Aplicações Móveis Orientadas a Serviços

Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes

FORMULÁRIO PARA CRIAÇÃO DE DISCIPLINA

Uma introdução ao SCRUM. Evandro João Agnes

Cargo Função Superior CBO. Tarefas / Responsabilidades T/R Como Faz

O Processo de Desenvolvimento de Software

Aula 5 UML: Casos de Uso

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

Processo de Desenvolvimento de Software. Engenharia de Software.

Ficha da Unidade Curricular

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Curitiba PLANO DE ENSINO

Ágil. Rápido. Métodos Ágeis em Engenharia de Software. Introdução. Thiago do Nascimento Ferreira. Introdução. Introdução. Introdução.

Como criar, priorizar e manter o Product Backlog

UNIVERSIDADE DO ESTADO DE SANTA CATARINA UDESC CENTRO DE EDUCAÇÃO SUPERIOR DO ALTO VALE DO ITAJAÍ CEAVI DIREÇÃO DE ENSINO DEN PLANO DE ENSINO

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Wesley Torres Galindo.

Tecnologias Atuais de. Desenvolvimento de Software

Engenharia da Computação. Tópicos Avançados em Engenharia de Software. Aula 1

Projeto Disciplinar de Infra-Estrutura de Software ECOFROTA TRIBUNAL THEMIS

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

Desenvolvimento Ágil de Software

I. Dados Identificadores Tecnologia em Análise e Desenvolvimento de Sistemas Análise E Projeto de Sistemas Eduardo Jesus Coppola

Ficha da Unidade Curricular (UC)

Metodologias Ágeis para Desenvolvimento de Software

UML: Casos de Uso. Projeto de Sistemas de Software

Programa Analítico de Disciplina INF323 Engenharia de Software II

Comparativo entre Processos Ágeis. Daniel Ferreira

Casos de Uso O que é. Casos de Uso. Objetivos de um Caso de Uso. Atores. Atores e Casos de Uso. Diagramas de Caso de Uso

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

Diagrama de Classes. Diagrama de Classes. Diagramas de Classe. POST Criando Diagramas de Classe. Como construir (2)

PIM. CST em Análise e Desenvolvimento de Sistemas. Projeto Integrado Multidisciplinar. 4º/3º Períodos 2010/2 UNIVERSIDADE PAULISTA CURSO

CASO DE USO. Isac Aguiar isacaguiar.com.br

Casos de Uso. Viviane Torres da Silva

Termo de Abertura Sistema de Vendas de Pizzas Online (PizzaWeb) - Versão 1.0

ScRUM na prática. Scrum no dia-a-dia. V Semana de Tecnologia da Informação

AMBIENTE WEB PARA GERÊNCIA DE PROCESSO DE SOFTWARE BASEADO NO SCRUM

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

Metodologias Ágeis. Gerenciando e Desenvolvendo Projetos de forma eficiente. Gabriel Verta Rafael Reimberg Vinicius Quaiato

Fase 1: Engenharia de Produto

ENG1000 Introdução à Engenharia

CURSO DESENVOLVEDOR JAVA Edição 2010

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

ágeis para projetos desenvolvidos por fábrica de software

UM FRAMEWORK PARA DESENVOLVIMENTO DE

Sistemas de Informação

UML - Unified Modeling Language

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Wesley Torres Galindo

Projeto SIAC 2.0: Uma aplicação do framework Demoiselle para o desenvolvimento de Sistema de Informações Acadêmicas da UFBA (SIAC)

Escola Superior de Tecnologia de Setúbal. Projecto Final

Tópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas.

MINISTÉRIO DA EDUCAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS DIRETORIA DE GRADUAÇÃO

RiskFree Uma ferramenta de apoio à gerência de riscos em projetos de software

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

Aplicação de Técnicas e Ferramentas em Projetos de Desenvolvimento Ágil

Licenciatura de EI 2010/2011. Mário Santos / Carlos Ramos

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

Desenvolvimento do Sistema de Negociação para Prestadores de Serviços. Acadêmico: Rafael Capistrano Prof. Orientador: Dr.

Júlio Arakaki Ítalo S. Vega

Módulo de projetos ágeis Scrum Módulo de Projetos Ágeis Scrum

Melhoria no Desenvolvimento Ágil com Implantação de Processo de Integração Contínua Multiplataforma para Java e.net. Hudson

Scrum. Centro de Informática - Universidade Federal de Pernambuco Sistemas de Informação Kiev Gama kiev@cin.ufpe.br

Ficha da Unidade Curricular (UC)

Com metodologias de desenvolvimento

ANÁLISE COMPARATIVA ENTRE OS MODELOS DE PROCESSO: PROTOTIPAÇÃO, PSP E SCRUM

Engenharia de Software

Transcrição:

MC437 Projeto de Sistemas de Informação Instituto de Computação UNICAMP 1o. Semestre de 2014 Profa. Cecilia M. F. Rubira, sala 13, cmrubira@ic.unicamp.br PED: Gustavo Waku, sala 91 (LSD), gustavo.waku@gmail.com PAD: Bruno Carvalho 1 Apresentação do Curso 1.1 Ementa (Versão 2.0 26/2/2014) Análise e Projeto de Sistemas de Informação usando técnicas de Bancos de Dados, Interface Humano-Computador e Engenharia de Software. 1.2 Programa Levantamento de requisitos funcionais e não-funcionais. Projeto arquitetural. Projeto dos componentes do sistema. Integração e testes dos componentes do sistema. 1.3 Desenvolvimento da Disciplina Para a realização do programa será utilizado um estudo de caso real, que será desenvolvido usando uma metodologia ágil de desenvolvimento[12]. O objetivo da disciplina é fazer com que o aluno aplique as recomendações e práticas da Engenharia de Software, sem perda de agilidade no processo de desenvolvimento. Os trabalhos serão feitos em grupos. O número de componentes de cada grupo é definido de acordo com o tamanho da turma, dando preferência para um número par para facilitar a aplicação da técnica de pair programming da metodologia XP extreme Programming[13]. Todo aluno deve pertencer a um grupo. A implementação do projeto consistirá de 2 sprints de 4 semanas para implementar código, seguido de mais 1 sprint dedicado essencialmente para as atividades de testes do sistema desenvolvido. Ao final de cada sprint, o sistema rodando deve ser mostrado para o dono do produto (product owner). O código desenvolvido por cada equipe deve ficar disponível num repositório com suporte para versionamento de código e acesso dos formadores. 2 Horário da Disciplina, Salas, PED e PAD Horário da disciplina: Prática: quarta das 14h-16h Sala: CC16 Lab: CC04

Laboratório: sexta das 14-16h Sala: CC16 Lab: CC02 Onde me achar: cmrubira@ic.unicamp.br prédio IC1, sala 13 Monitor: Gustavo Waku (PED) gustavo.waku@gmail.com prédio IC2, sala 91, LSD Monitor: Bruno Vargas Versignassi De Carvalho (PAD) e-mail: b116330@dac.unicamp.br 3 Horário de Atendimento Enviar uma mensagem para o professor solicitando o agendamento de atendimento, assim como para o PED e PAD. Combinar um horário fixo adequado para os estudantes. 4 O Projeto 4.1 O Tema O tema do projeto está relacionado com e-commerce, mais especificamente envolve a análise, projeto e implementação de uma Loja de Suplementos Alimentares pela Internet. Os modelos criados para esse projeto (modelos de casos de uso, modelos de classes, modelos de comunicação, modelo arquitetural) estão disponivéis no EA. 4.2 As Equipes O Projeto será desenvolvido por equipes de no máximo 6 alunos. Mais especificamente, recomendase a formação de: 3 equipes de seis alunos 2 equipes de quatro alunos Total: 5 equipes 4.3 Plataforma de Desenvolvimento : As seguintes exigências técnicas devem ser atendidas: desenvolver uma aplicação Web. usar o método baseado em componentes chamado UML Components[1] para a criação de uma arquitetura componentizada. usar a plataforma Java[3] para o desenvolvimento de código. usar a ferramenta Bellatrix[10] para a geração de código Java da arquitetura componentizada. usar o ambiente de desenvolvimento integrado (IDE: Integrated Development Environment) Eclipse ou equivalente. 2

usar o servidor de aplicação Tomcat para a implementação do servidor de aplicação. usar ferramentas para a construção de modelos UML. usar o framework Hibernate e um banco de dados relacional para a implementação da camada de persistência com objetos DAO (Data Acess Objects) (sugestão). Ferramentas de Desenvolvimento: - Java Development Kit - JDK 1.6 ou superior http://www.oracle.com/technetwork/java/javase/downloads/index.html - IDE de Desenvolvimento - Eclipse J2EE Kepler http://eclipse.org/downloads/ http://eclipse.org/downloads/ - Framework para Desenvolvimento Web - Google Web Toolkit (GWT 2.6) http://www.gwtproject.org/ - Ferramenta para scripts - Apache Ant 1.8 ou superior http://ant.apache.org/ http://ftp.unicamp.br/pub/apache//ant/binaries/apache-ant-1.9.3-bin.zip - Tomcat 6.0 http://tomcat.apache.org/ Ferramentas de Controle de Versões: - Ferramenta de versionamento de código - GIT http://git-scm.com/downloads - Ferramenta para hospedagem de código na Web - BITBUCKET https://bitbucket.org (similar ao github, mas tem um bugtracking melhor, fazer o cadastro no site ) - Banco de dados HSQLDB ( http://hsqldb.org/ ) - Ferramentas Modelagem UML: Papyrus (plugin para eclipse) https://www.eclipse.org/papyrus/updates/index.php Umbrello http://umbrello.kde.org/ sudo apt-get install umbrello Astah Professional (licença gratuita para estudantes) http://astah.net/download - Ferramentas para Testes: 3

JUnit (incluído no Eclipse) https://github.com/junit-team/junit/wiki/getting-started Tutorial JUnit: http://www.vogella.com/tutorials/junit/article.html Cobertura de código: Coverlipse Jabuti (da USP-São Carlos) Geração de casos de teste a partir de modelos de estado: ModelJUnit. 5 Etapas (Milestones) O projeto consiste das seguintes grandes etapas: Etapa 1 Engenharia de Requisitos: modelo de especificação de requisitos e modelo de casos de uso acompanhado de uma descrição sucinta de cada caso de uso. Etapa 2 Análise OO Estática: modelodecasosdeusocomescoporeduzido(diagramade casos de uso, descrição completa de cada caso de uso com os seus fluxos básico e alternativos) e modelo conceitual (diagrama de classes de análise). Etapa 3 Análise OO Dinâmica: modelo de classes de análise com classes de controle e diagramas de sequência de análise (um diagrama para cada caso de uso). Etapa 4 Projeto Arquitetural: especificação do modelo arquitetural baseado em componentes arquiteturais usando o método UML Components com diagramas de comunicação[1] e conectores arquiteturais. Etapa 5 Projeto Detalhado e Implementação: refinamento da arquitetura, aplicação de padrões de projeto, uso de componentes de terceiros (Tomcat, Hibernate, etc.) e implementação de componentes da arquitetura usando o modelo de implementação de componentes chamado COSMOS[11]. Etapa 6 Implantação: integração dos componentes e implantação do sistema. Etapa 7 Testes: teste dos componentes e do sistema. 5.1 SCRUM A metodologia de desenvolvimento ágil será composta por: 1. Pré-jogo: Etapa 1, Etapa 2, Etapa 3, Etapa 4 2. Jogo: Etapa 5, Etapa 6 e Etapa 7 3. Pós-jogo: Lições Aprendidas 4

5.2 Jogo O Jogo será composto por 3 sprints de duração 4 semanas: Sprint1: Etapa 5, Etapa 6, Etapa 7 Sprint2: Etapa 5, Etapa 6, Etapa 7 Sprint3: Etapa 7 Para cada sprint, cada equipe deverá: (a) Definir o backlog do sprint com as user stories(estórias de usário- versão simplificada de um use case) priorizadas pelo cliente; (b) Definir testes de aceitação das user stories / Validação com o Cliente; (c) Gravar registro da reunião de scrum semanal; (d) Realizar demo de 15min por grupo; 6 Critério de Avaliação 6.1 Média M = (N otaentregaarq + N otaentregasprint1 + N otaapressprint1 + N otaentregaetapa2 + N otaapressprint2 + N otaentregasprint3 + N otaapressprint3) sendo que: NotaEntregaArq vale 1.0 NotaEntregaSprint 2.0 NotaApresSprint 1.0 1. Entrega do Projeto da arquitetura componentizada (EntregaArq): dia 13/mar de 2014, quinta. 2. A entrega de cada sprint significa mostrar código rodando para o seu cliente e validar os testes de aceitação. O grupo terá 15 minutos para apresentar as funcionalidades implementadas no sprint. EntregaSprint1 + ApresSprint1: 16/abr, EntregaSprint2 + ApresSprint2: 23/mai. EntregaSprint3 + ApresSprint3: 13/jun. 3. Critérios para Avaliação das Demos/Apresentações: participação dos integrantes do grupo na apresentação, pontualidade e observação do tempo de apresentação, conteúdo e qualidade do material utilizado, comunicação das idéias. 5

6.2 Sobre o Exame Um aluno com Média M (3 <= M < 5) e que tenha pelo menos 75% de presença no curso, poderá fazer o exame. Neste caso, a Média Final MF será calculada como a média entre M e a nota do exame. Data do Exame: 11 de julho (sexta). 7 Datas Importantes 13 de março, quinta: entrega da arquitetura componentizada. 16 de abril, quarta: EntregaSprint1 + ApresSprint1 23 de maio, sexta: EntregaSprint2 + ApresSprint2 13 de junho, sexta: EntregaSprint3 + ApresSprint3 11 de julho, sexta: exame 8 Cronograma Detalhado S T Q Q S S D Fevereiro 21 26 28 - (26/2 aula UMLComp) e (28/2 lab GWT) Março 5 7 - (5/3 feriado) (7 aula SCRUM) 12 14 - (13/3 EntregaArq) (14 aula SCRUM) 19 21 - (17/3 seg inicio Sprint1) 26 28 Abril 2 4 9 11 16 18 -(16/4 Entrega+ApresSprint1) (18/4 feriado) 23 25 -(22/4 ter início Sprint2) 30 2 -(2/5 feriado) Maio 7 9 14 16 21 23 -(23/5 Entrega+ApresSprint2) 28 30 -(24/5 sab inicio Sprint3) Junho 4 6 11 13 - (13/6 Entrega+ApresSprint3) 6

9 Bibliografia Recomendada Roger S. Pressman, Engenharia de Software, 6a. edição, 2006, McGraw-Hill, São Paulo. Roger S. Pressman, Software Engineering: A Practitioner s Approach, fifth edition, McGraw-Hill, 2001. I.Sommerville, Software Engineering: (Update) (8th edition), Addison Wesley, 8th edition, 2007. I.Sommerville, Software Engineering, Addison-Wesley, sixth edition, 2001. A. Carvalho& T. Chiossi, Introdução à Engenharia de Software, Editora da UNICAMP, 2001. C.M.F.Rubira, Apostila Introdução à Análise Orientada a Objetos e Projeto Arquitetural, IC-UNICAMP, 2013. K.Arnold & J.Gosling, The Java Programming Language, second edition, Addison- Wesley, 1997. C.Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design, Prentice-Hall, 1998. M.Grand, Patterns in Java, Wiley, 1998. E.Gamma et al., Design Patterns: Elements of reusable OO Software, Addison-Wesley, 1995. J.Cheesman& J.Daniels, UML Components: A Simple Process for Specifying Component- Based Software, Addison-Wesley, 2001. Orit Hazzan and Yael Dubinsky. Agile Software Engineering (Undergraduate Topics in Computer Science). Springer London; 1 edition (February 28, 2009) Ken Schwaber and Mike Beedle. Agile Software Development with Scrum. Prentice Hall, Upper Saddle River, New Jersey, 2002. Mary Poppendieck and Tom Poppendieck. Lean Software Development: An Agile Toolkit. Addison-Wesley, 2003. Mike Cohn. User Stories Applied: For Agile Software Development. Addison-Wesley, 2004 10 Páginas Importantes: Ensino Aberto http://www.unicamp.br/ea Página do livro do Sommerville: http://www.comp.lancs.ac.uk/computing/resources/ians/se8/index.html Agile Manifesto http://agilemanifesto.org/iso/ptbr/ Scrum Guide, versão de 2011 em português http://www.scrum.org/storage/scrum Guide 2011 - PTBR.pdf 7

Scrum Master in Under 10 Minutes video http://www.axosoft.com/ontime/videos/scrum/#scrum-diagram Referências [1] J. Cheesman & J. Daniels, UML Components: A Simple Process for Specifying Component-Based Software,Addison-Wesley, 2001. [2] Microsoft Corporation, Microsoft.net homepage, acessado em agosto 2006, http://www.microsoft.com/net/. [3] Sun Microsystems, Java Technology, acessado em agosto 2006, http://java.sun.com/. [4] Change Vision, Inc., UML Modeling Tool- JUDE, acessado em agosto 2006, http://jude.changevision.com/jude-web/index.html. [5] Omondo, EclipseUML, acessado em agosto 2006, http://www.omondo.com/ [6] K. Arnold & J. Gosling, The Java Programming Language, second edition, Addison-Wesley, 1997. [7] C. Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design, Prentice-Hall, 1998. [8] M. Grand, Patterns in Java, Wiley, 1998. [9] E. Gamma et al., Design Patterns: Elements of reusable OO Software, Addison-Wesley, 1995. [10] R.Tomita, F.Castor Filho, P.A.C. Guerra, and C.M.F.Rubira. Bellatrix: Um Ambiente para Suporte Arquitetural ao Desenvolvimento Baseado em Componentes. In Proceedings of the IV Brazilian Workshop on Component-Based Development (WDBC 2004). João Pessoa, PB, Brazil, 15-17/9/2004, pp. 43-48. [11] L.A.Gayard, C.M.F.Rubira and P.A.C. Guerra. COSMOS: a COmponent System MOdel for Software Architectures. In English, Number IC-08-04, 58 pages, February 2008. [12] Ken Schwaber and Mike Beedle. Software Development with Scrum. Prentice Hall, Upper Saddle River, New Jersey, 2002. [13] Kent Beck with Cynthia Andres. Extreme Programming Explained: Embrace Change, 2nd edition, Addison-Wesley, 2004. 8