• Nenhum resultado encontrado

(Versão /2/2014)

N/A
N/A
Protected

Academic year: 2021

Share "(Versão /2/2014)"

Copied!
8
0
0

Texto

(1)

MC437 – Projeto de Sistemas de Informa¸c˜ao Instituto de Computac¸˜ao — 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

(Vers˜ao 2.0 – 26/2/2014)

1

Apresenta¸c˜

ao do Curso

1.1 Ementa

An´alise e Projeto de Sistemas de Informa¸c˜ao usando t´ecnicas de Bancos de Dados, Interface Humano-Computador e Engenharia de Software.

1.2 Programa

Levantamento de requisitos funcionais e n˜ao-funcionais. Projeto arquitetural.

Projeto dos componentes do sistema.

Integra¸c˜ao e testes dos componentes do sistema.

1.3 Desenvolvimento da Disciplina

Para a realiza¸c˜ao do programa ser´a utilizado um estudo de caso real, que ser´a desenvolvido usando uma metodologia ´agil de desenvolvimento[12]. O objetivo da disciplina ´e fazer com que o aluno aplique as recomenda¸c˜oes e pr´aticas da Engenharia de Software, sem perda de agilidade no processo de desenvolvimento.

Os trabalhos ser˜ao feitos em grupos. O n´umero de componentes de cada grupo ´e definido de acordo com o tamanho da turma, dando preferˆencia para um n´umero par para facilitar a aplica¸c˜ao da t´ecnica de pair programming da metodologia XP – eXtreme Programming[13]. Todo aluno deve pertencer a um grupo.

A implementa¸c˜ao do projeto consistir´a de 2 sprints de 4 semanas para implementar c´odigo, seguido de mais 1 sprint dedicado essencialmente para as atividades de testes do sistema desen-volvido. Ao final de cada sprint, o sistema rodando deve ser mostrado para o dono do produto (product owner).

O c´odigo desenvolvido por cada equipe deve ficar dispon´ıvel num reposit´orio com suporte para versionamento de c´odigo e acesso dos formadores.

2

Hor´

ario da Disciplina, Salas, PED e PAD

Hor´ario da disciplina:

(2)

Laborat´orio: sexta das 14-16h Sala: CC16 Lab: CC02 Onde me achar:

cmrubira@ic.unicamp.br pr´edio IC1, sala 13 Monitor: Gustavo Waku (PED)

gustavo.waku@gmail.com pr´edio IC2, sala 91, LSD Monitor: Bruno Vargas Versignassi De Carvalho (PAD) e-mail: b116330@dac.unicamp.br

3

Hor´

ario de Atendimento

Enviar uma mensagem para o professor solicitando o agendamento de atendimento, assim como para o PED e PAD. Combinar um hor´ario fixo adequado para os estudantes.

4

O Projeto

4.1 O Tema

O tema do projeto est´a relacionado com e-Commerce, mais especificamente envolve a an´alise, projeto e implementa¸c˜ao 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¸c˜ao, modelo arquitetural) est˜ao disponiv´eis no EA.

4.2 As Equipes

O Projeto ser´a desenvolvido por equipes de no m´aximo 6 alunos. Mais especificamente, recomenda-se a forma¸c˜ao de:

3 equipes de seis alunos 2 equipes de quatro alunos Total: 5 equipes

4.3 Plataforma de Desenvolvimento

:

As seguintes exigˆencias t´ecnicas devem ser atendidas: • desenvolver uma aplica¸c˜ao Web.

• usar o m´etodo baseado em componentes chamado UML Components[1] para a cria¸c˜ao de uma arquitetura componentizada.

• usar a plataforma Java[3] para o desenvolvimento de c´odigo.

• usar a ferramenta Bellatrix[10] para a gera¸c˜ao de c´odigo Java da arquitetura componentizada. • usar o ambiente de desenvolvimento integrado (IDE: Integrated Development Environment)

(3)

• usar o servidor de aplica¸c˜ao Tomcat para a implementa¸c˜ao do servidor de aplica¸c˜ao. • usar ferramentas para a constru¸c˜ao de modelos UML.

• usar o framework Hibernate e um banco de dados relacional para a implementa¸c˜ao da camada de persistˆencia com objetos DAO (Data Acess Objects) (sugest˜ao).

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˜oes:

- Ferramenta de versionamento de c´odigo - GIT http://git-scm.com/downloads

- Ferramenta para hospedagem de c´odigo na Web - BITBUCKET

https://bitbucket.org (similar ao github, mas tem um bugtracking melhor, fazer o cadas-tro 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¸ca gratuita para estudantes) http://astah.net/download

(4)

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´odigo:

Coverlipse

Jabuti (da USP-S˜ao Carlos)

Gera¸c˜ao 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¸c˜ao de requisitos e modelo de casos de uso acompanhado de uma descri¸c˜ao sucinta de cada caso de uso.

Etapa 2 – An´alise OO Est´atica: modelo de casos de uso com escopo reduzido (diagrama de casos de uso, descri¸c˜ao completa de cada caso de uso com os seus fluxos b´asico e alternativos) e modelo conceitual (diagrama de classes de an´alise).

Etapa 3 – An´alise OO Dinˆamica: modelo de classes de an´alise com classes de controle e diagramas de sequˆencia de an´alise (um diagrama para cada caso de uso).

Etapa 4 – Projeto Arquitetural: especifica¸c˜ao do modelo arquitetural baseado em com-ponentes arquiteturais usando o m´etodo UML Components com diagramas de comunica¸c˜ao[1] e conectores arquiteturais.

Etapa 5 – Projeto Detalhado e Implementa¸c˜ao: refinamento da arquitetura, aplica¸c˜ao de padr˜oes de projeto, uso de componentes de terceiros (Tomcat, Hibernate, etc.) e imple-menta¸c˜ao de componentes da arquitetura usando o modelo de implementa¸c˜ao de componentes chamado COSMOS[11].

Etapa 6 – Implanta¸c˜ao: integra¸c˜ao dos componentes e implanta¸c˜ao do sistema. Etapa 7 – Testes: teste dos componentes e do sistema.

5.1 SCRUM

A metodologia de desenvolvimento ´agil ser´a composta por: 1. Pr´e-jogo: Etapa 1, Etapa 2, Etapa 3, Etapa 4

2. Jogo: Etapa 5, Etapa 6 e Etapa 7 3. P´os-jogo: Li¸c˜oes Aprendidas

(5)

5.2 Jogo

O Jogo ser´a composto por 3 sprints de dura¸c˜ao 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:

(a) Definir o backlog do sprint com as user stories (est´orias de us´ario - vers˜ao simplificada de um use case) priorizadas pelo cliente;

(b) Definir testes de aceita¸c˜ao das user stories / Valida¸c˜ao com o Cliente; (c) Gravar registro da reuni˜ao de scrum semanal;

(d) Realizar demo de 15min por grupo;

6

Crit´

erio de Avalia¸c˜

ao

6.1 M´edia

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´odigo rodando para o seu cliente e validar os testes de aceita¸c˜ao. O grupo ter´a 15 minutos para apresentar as funcionalidades implementadas no sprint.

EntregaSprint1 + ApresSprint1: 16/abr, EntregaSprint2 + ApresSprint2: 23/mai. EntregaSprint3 + ApresSprint3: 13/jun. 3. Crit´erios para Avalia¸c˜ao das Demos/Apresenta¸c˜oes:

participa¸c˜ao dos integrantes do grupo na apresenta¸c˜ao, pontualidade e observa¸c˜ao do tempo de apresenta¸c˜ao, conte´udo e qualidade do material utilizado,

(6)

6.2 Sobre o Exame

Um aluno com M´edia M (3 <= M < 5) e que tenha pelo menos 75% de presen¸ca no curso, poder´a fazer o exame. Neste caso, a M´edia Final MF ser´a calculada como a m´edia entre M e a nota do exame.

Data do Exame: 11 de julho (sexta).

7

Datas Importantes

• 13 de mar¸co, 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¸co

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

(7)

9

Bibliografia Recomendada

Roger S. Pressman, Engenharia de Software, 6a. edi¸c˜ao, 2006, McGraw-Hill, S˜ao 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 edi-tion, 2007.

I.Sommerville, Software Engineering, Addison-Wesley, sixth edition, 2001.

A. Carvalho & T. Chiossi, Introdu¸c˜ao `a Engenharia de Software, Editora da UNICAMP, 2001.

C.M.F.Rubira, Apostila Introdu¸c˜ao `a An´alise Orientada a Objetos e Projeto Arquite-tural, 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

aginas Importantes:

Ensino Aberto http://www.unicamp.br/ea P´agina 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˜ao de 2011 em portuguˆes

(8)

Scrum Master in Under 10 Minutes video

http://www.axosoft.com/ontime/videos/scrum/#scrum-diagram

Referˆ

encias

[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.change-vision.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˜ao 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 Soft-ware 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.

Referências

Documentos relacionados

AtravŽs dessas iniciativas, Paula e Cristiano buscam atingir o quanto antes a vis‹o da Onodera EstŽtica - Unidade Bela Vista ÒSer referncia no ramo de estŽtica

A pecuária de corte no Brasil passa por rápidas e intensas transformações que acionam, diretamente, diversos segmentos de sua estrutura de produção, passando pelos geradores

Acredita-se que as pes- soas especiais devem estar presentes não só como ouvintes, mas como agentes que possam estar envolvidos nas discussões e decisões sobre uma

O Estado Burocrático- Industrial e o Estado Gerencial são estados de transição de uma política de elites para uma democracia moderna, ou seja, em uma democracia na qual a sociedade

3.2 Objetivos específicos a utilizar técnicas de sensoriamento remoto para determinar índices de vegetação e avaliar a dinâmica da cobertura vegetal no Alto Ipanema ao longo dos anos

Professor André: A questão da robótica na licenciatura eu tive uma introdução mas foi bem rápida, não foi bem detalhada não, mas a questão de trabalhar na escola foi quando chegou

Os desfechos pesquisados foram o impacto do diabetes mellitus tipo 1 sobre a qualidade de vida de crianças e adolescentes com esse problema e os principais

tratando do ambiente escolar, quando a criança se desvincula do seio familiar para inserir na escola ela já trás consigo um referencial de aprendizagem referente aos